errDump错误日志上报:开启高效排查之门

电子说

1.3w人已加入

描述

相信很多朋友都会忽视errDump错误日志上报,但不得不说的是技术高手都知道它真的是比较重要的一环。

让我们以概述,准备环境等来一一说明:

1、errDump功能概述

LuatOS-Air错误日志上报功能模块名叫:errDump,errDump对“量产投放市场的设备,远程调试初步定位问题”至关重要,强烈建议客户一定要使用此功能。

errDump就是将模块运行过程中产生的错误信息或者应用日志通过TCP/UDP上报到互联网上的指定服务器,技术人员可以在服务器上查阅日志,协助远程了解设备运行情况,或者故障诊断。

使用合宙云服务器时,迫于服务器压力,只有手动打开debug开关(见后面第六节代码示例介绍),才有日志上报(当使用合宙调试服务器时,开机前先检查一下log开关,每2小时查询一次log开关,如果开关未开启,则不允许上传调试日志),打开方式见《三、实例介绍》。

2、演示功能概述

本示例将演示上报错误日志的功能。

3、准备硬件环境

3.1 780E开发板一套

物联网

此核心板的详细使用说明参考:Air780E产品手册中的<<开发板Core_Air780E使用说明V1.0.5.pdf>>。

3.2 SIM卡

请准备一张可正常上网的SIM卡,该卡可以是物联网卡或您的个人手机卡。

特别提醒:请确保SIM卡未欠费且网络功能正常,以便顺利进行后续操作。

3.3 数据通信线

typec接口USB数据线即可。

3.4 PC电脑

WINDOWS系统。

4、准备软件环境

4.1基本的下载调试工具

使用说明参考:Luatools下载和详细使用;

5、errDump软硬件资料

本文通过demo演示来说明本章节内容的基本用法。

5.1源码和工具

Air780E模块使用固件:SDK&Demo-合宙文档中心,本demo使用的固件版本是:LuatOS-SoC_V1112_EC618_FULL.soc

本教程使用的demo:
https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/errDump

将固件和脚本烧录到模块中,使用说明参考:
Luatools下载和详细使用
https://docs.openluat.com/Luatools/

合宙云平台:
https://iot.openluat.com

5.2本demo使用api介绍

errDump.config(enable,period,user_flag,custom_id,host,port)

作用:配置关键日志上传IOT平台,这里的日志包括引起luavm异常退出的日志和用户通过record写入的日志,类似于air的errDump。

参数

传入值类型 解释
boolean
 
是否启用记录功能,
false的话将不会记录任何日志
 
int
 
定时上传周期,单位秒,默认600秒,
这个是自动上传时候后的重试时间时间,
在开机后或者有record操作后,
会很快尝试上传到合宙IOT平台一次,
如果为0,则不会上传,
由用户dump后自己上传自己的平台
 
string
 
用户的特殊标识,可以为空
 
string
 
设备识别号,4G设备默认是imei,
其他设备默认是mcu.unique_id
 
string
 
服务器域名,
默认dev_msg1.openluat.com
 
int
 
服务器端口,默认
 

返回值

返回值类型 解释
nil
 
无返回值              
 

errDump.dump(zbuff,type,isDelete)

作用:手动读取异常日志,主要用于用户将日志发送给自己的服务器而不是IOT平台,如果在errDump.config配置了周期上传,则不能使用本函数

参数

传入值类型 解释
zbuff
 
日志信息缓存,
如果为nil就不会读出
 
int
 
日志类型,目前只有:
errDump.TYPE_SYS
errDump.TYPE_USR
 
boolean
 
是否删除日志
 

返回值

返回值类型 解释
boolean
 
true表示本次读取前并没有写入数据,
false反之,
在删除日志前,
最好再读一下确保没有新的数据写入了
 

errDump.record(string)

作用:写入用户的异常日志,注意最大只有4KB,超过部分新的覆盖旧的,开启自动上传后会上传到合宙IOT平台

参数

传入值类型 解释
string
 
日志       
 

返回值

返回值类型 解释
nil
 
无返回值
 

6、代码示例介绍

6.1 上传错误日志到云平台

6.1.1 云平台配置

云平台:https://iot.openluat.com

(1)打开IOT平台

1errDump功能概述

LuatOS-Air错误日志上报功能模块名叫:errDump,errDump对“量产投放市场的设备,远程调试初步定位问题”至关重要,强烈建议客户一定要使用此功能。

errDump就是将模块运行过程中产生的错误信息或者应用日志通过TCP/UDP上报到互联网上的指定服务器,技术人员可以在服务器上查阅日志,协助远程了解设备运行情况,或者故障诊断。

使用云服务器时,迫于服务器压力,只有手动打开debug开关(见后面第六节代码示例介绍),才有日志上报(当使用调试服务器时,开机前先检查一下log开关,每2小时查询一次log开关,如果开关未开启,则不允许上传调试日志),打开方式见《三、实例介绍》。

2演示功能概述

本示例将演示上报错误日志的功能。

3准备硬件环境

3.1 780E开发板一套

此核心板的详细使用说明参考:Air780E产品手册中的<<开发板Core_Air780E使用说明V1.0.5.pdf>>。

3.2 SIM卡

请准备一张可正常上网的SIM卡,该卡可以是物联网卡或您的个人手机卡。

特别提醒:请确保SIM卡未欠费且网络功能正常,以便顺利进行后续操作。

3.3 数据通信线

typec接口USB数据线即可。

3.4 PC电脑

WINDOWS系统。

4准备软件环境

4.1基本的下载调试工具

使用说明参考:Luatools下载和详细使用;

5errDump软硬件资料

本文通过demo演示来说明本章节内容的基本用法。

5.1源码和工具

Air780E模块使用固件:SDK&Demo-合宙文档中心,本demo使用的固件版本是:LuatOS-SoC_V1112_EC618_FULL.soc

本教程使用的demo:
https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/errDump

将固件和脚本烧录到模块中,使用说明参考:
Luatools下载和详细使用
https://docs.openluat.com/Luatools/

合宙云平台:
https://iot.openluat.com

5.2本demo使用api介绍

errDump.config(enable,period,user_flag,custom_id,host,port)

作用:配置关键日志上传IOT平台,这里的日志包括引起luavm异常退出的日志和用户通过record写入的日志,类似于air的errDump。

参数

传入值类型 解释
boolean
 
是否启用记录功能,
false的话将不会记录任何日志
 
int
 
定时上传周期,单位秒,默认600秒,
这个是自动上传时候后的重试时间时间,
在开机后或者有record操作后,
会很快尝试上传到合宙IOT平台一次,
如果为0,则不会上传,
由用户dump后自己上传自己的平台
 
string
 
用户的特殊标识,可以为空
 
string
 
设备识别号,4G设备默认是imei,
其他设备默认是mcu.unique_id
 
string
 
服务器域名,
默认dev_msg1.openluat.com
 
int
 
服务器端口,默认
 

返回值

返回值类型 解释
nil
 
无返回值              
 

errDump.dump(zbuff,type,isDelete)

作用:手动读取异常日志,主要用于用户将日志发送给自己的服务器而不是IOT平台,如果在errDump.config配置了周期上传,则不能使用本函数

参数

传入值类型 解释
zbuff
 
日志信息缓存,
如果为nil就不会读出
 
int
 
日志类型,目前只有:
errDump.TYPE_SYS
errDump.TYPE_USR
 
boolean
 
是否删除日志
 

返回值

返回值类型 解释
boolean
 
true表示本次读取前并没有写入数据,
false反之,
在删除日志前,
最好再读一下确保没有新的数据写入了
 

errDump.record(string)

作用:写入用户的异常日志,注意最大只有4KB,超过部分新的覆盖旧的,开启自动上传后会上传到合宙IOT平台

参数

传入值类型 解释
string
 
日志       
 

返回值

返回值类型 解释
nil
 
无返回值
 

6代码示例介绍

6.1 上传错误日志到合宙云平台

6.1.1 云平台配置

合宙云平台:https://iot.openluat.com

(1)打开IOT平台

物联网

(2)新建一个项目

物联网

(3)将你自己建的项目KEY复制到DEMO中

物联网

(4)打开设备DEBUG开关

物联网物联网

6.1.2 demo介绍

这里测试用的是合宙云平台上报。

demo程序中打开自动上报合宙云平台部分,注释掉手动获取信息部分。

使用合宙云平台查看上报错误信息的话,代码更改如下:

物联网物联网

7、功能验证

7.1 Luatools日志打印

物联网

7.2 云平台查看错误上报

物联网

本示例介绍了将错误日志上报到云平台的功能,分享完毕。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分