errDump ======= .. _errdump-1: errDump ------- 模块功能:系统错误日志管理(强烈建议用户开启此模块的“错误日志上报调试服务器”功能). 错误日志包括四种: 1、系统主任务运行时的错误日志 此类错误会导致软件重启,错误日志保存在/luaerrinfo.txt文件中 2、调用sys.taskInit创建的协程运行过程中的错误日志 此类错误会终止当前协程的运行,但是不会导致软件重启,错误日志保存在/lib_err.txt中 3、调用errDump.appendErr或者sys.restart接口保存的错误日志 此类错误日志保存在/lib_err.txt中 4、调用errDump.setNetworkLog接口打开网络异常日志功能后,会自动保存最近几种网络异常日志 错误日志保存在/lib_network_err.txt中 5、底层固件的死机信息 其中2和3保存的错误日志,最多支持5K字节 每次上报错误日志给调试服务器之后,会清空已保存的日志 errDump.appendErr(s) ~~~~~~~~~~~~~~~~~~~~ 追加错误信息到LIB_ERR_FILE文件中(文件最多允许存储5K字节的数据) - 参数 +-----------------------------------+-----------------------------------+ | 传入值类型 | 释义 | +===================================+===================================+ | string | s:用户自定义的 | | | 错误信息,errDump功能模块会对此错 | | | 误信息做如下处理:1、重启后会通过 | | | Luat下载调试工具输出,在trace中搜 | | | 索errDump.libErr,可以搜索到错误 | | | 信息2、如果用户调用errDump.reques | | | t接口设置了错误信息要上报的调试服 | | | 务器地址和端口,则每次重启会自动 | | | 上报错误信息到调试服务器3、如果用 | | | 户调用errDump.request接口设置了定 | | | 时上报,则定时上报时会上报错误信 | | | 息到调试服务器其中第2和第3种情况 | | | ,上报成功后,会自动清除错误信息 | +-----------------------------------+-----------------------------------+ - 返回值 bool result,true表示成功,false或者nil表示失败 - 例子 .. code:: lua errDump.appendErr("net working timeout!") -------------- errDump.setNetworkLog(flag) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 配置网络错误日志开关 - 参数 +------------+--------------------------------------------------------+ | 传入值类型 | 释义 | +============+========================================================+ | bool | **可选参数,默认为\ ``nil``**\ ,flag,是 | | | 否打开网络错误日志开关,true为打开,false或者nil为关闭 | +------------+--------------------------------------------------------+ - 返回值 无 - 例子 .. code:: lua errDump.setNetworkLog(true) -------------- errDump.request(addr, period) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 配置调试服务器地址,启动错误信息上报给调试服务器的功能,上报成功后,会清除错误信息 - 参数 +-----------------------------------+-----------------------------------+ | 传入值类型 | 释义 | +===================================+===================================+ | string | addr, | | | 调试服务器地址信息,支持http,ud | | | p,tcp1、如果调试服务器使用http协 | | | 议,终端将采用POST命令,把错误信 | | | 息上报到addr指定的URL中,addr的格 | | | 式如下(除protocol和hostname外,其 | | | 余字段可选;目前的实现不支持hash) | +-----------------------------------+-----------------------------------+ | number | **可选参数,默认为 | | | \ ``600000``**\ ,period,单位毫 | | | 秒,定时检查错误信息并上报的间隔 | +-----------------------------------+-----------------------------------+ - 返回值 bool result,成功返回true,失败返回nil - 例子 .. code:: lua errDump.request("http://www.user_server.com/errdump") errDump.request("udp://www.user_server.com:8081") errDump.request("tcp://www.user_server.com:8082") errDump.request("tcp://www.user_server.com:8082",6*3600*1000) --------------