Module 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字节 每次上报错误日志给调试服务器之后,会清空已保存的日志
Info:
- Copyright: openLuat
- Release: 2017.09.26
- License: MIT
- Author: openLuat
Functions
appendErr (s) | 追加错误信息到LIB_ERR_FILE文件中(文件最多允许存储5K字节的数据) |
setNetworkLog ([flag=nil]) | 配置网络错误日志开关 |
request (addr[, period=600000]) | 配置调试服务器地址,启动错误信息上报给调试服务器的功能,上报成功后,会清除错误信息 |
Functions
- appendErr (s)
-
追加错误信息到LIB_ERR_FILE文件中(文件最多允许存储5K字节的数据)
Parameters:
- s
string
用户自定义的错误信息,errDump功能模块会对此错误信息做如下处理: 1、重启后会通过Luat下载调试工具输出,在trace中搜索errDump.libErr,可以搜索到错误信息 2、如果用户调用errDump.request接口设置了错误信息要上报的调试服务器地址和端口,则每次重启会自动上报错误信息到调试服务器 3、如果用户调用errDump.request接口设置了定时上报,则定时上报时会上报错误信息到调试服务器 其中第2和第3种情况,上报成功后,会自动清除错误信息
Returns:
-
bool result,true表示成功,false或者nil表示失败
Usage:
errDump.appendErr("net working timeout!")
- s
string
- setNetworkLog ([flag=nil])
-
配置网络错误日志开关
Parameters:
- flag
bool
[此参数可选,默认值为: nil]
是否打开网络错误日志开关,true为打开,false或者nil为关闭
Usage:
errDump.setNetworkLog(true)
- flag
bool
[此参数可选,默认值为: nil]
- request (addr[, period=600000])
-
配置调试服务器地址,启动错误信息上报给调试服务器的功能,上报成功后,会清除错误信息
Parameters:
- addr
string
调试服务器地址信息,支持http,udp,tcp 1、如果调试服务器使用http协议,终端将采用POST命令,把错误信息上报到addr指定的URL中,addr的格式如下 (除protocol和hostname外,其余字段可选;目前的实现不支持hash) |------------------------------------------------------------------------------| | protocol ||| auth | host | path | hash | |----------|||-----------|-----------------|---------------------------|-------| | ||| | hostname | port | pathname | search | | | ||| |----------|------|----------|----------------| | " http :// user:pass @ host.com : 8080 /p/a/t/h ? query=string # hash " | ||| | | | | | | |------------------------------------------------------------------------------| 2、如果调试服务器使用udp协议,终端将错误信息,直接上报给调试服务器,调试服务器收到信息后,要回复大写的OK;addr格式如下: |----------|||----------|------| | protocol ||| hostname | port | | |||----------|------| " udp :// host.com : 8081 | | ||| | | |------------------------------| 3、如果调试服务器使用tcp协议,终端将错误信息,直接上报给调试服务器;addr格式如下: |----------|||----------|------| | protocol ||| hostname | port | | |||----------|------| " tcp :// host.com : 8082 | | ||| | | |------------------------------|
- period
number
[此参数可选,默认值为: 600000]
单位毫秒,定时检查错误信息并上报的间隔
Returns:
-
bool result,成功返回true,失败返回nil
Usage:
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)
- addr
string