0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2024-11-02 11:52 次阅读

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

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

1、errDump功能概述

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

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

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

2、演示功能概述

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

3、准备硬件环境

3.1 780E开发板一套

wKgZoWcluBCAfiZ0ABLOjRHHvA0303.png

此核心板的详细使用说明参考: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平台

wKgZoWck44uAeUy3AARu2-gdDwE800.png

(2)新建一个项目

wKgaoWck45qAQWobAAQSp5xMchc018.png

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

wKgZoWck46-ABQZVAAjTzhdp298675.png

(4)打开设备DEBUG开关

wKgaoWck472AYQ_mAAScy9veyTc568.pngwKgaoWck48yAK0MJAARrYiGoDSI825.png

6.1.2 demo介绍

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

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

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

wKgZoWck496ALAx0ABDcfLULOQA723.pngwKgaoWck4_-ARjU_AAwX7S59D0c474.png

7、功能验证

7.1 Luatools日志打印

wKgaoWck5BmAcWDOAAlcWmgATHE911.png

7.2 云平台查看错误上报

wKgZoWck5CmABfmCAATJrgN99vY038.png

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

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

    关注

    2900

    文章

    43949

    浏览量

    369704
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1342

    浏览量

    78901
  • 日志
    +关注

    关注

    0

    文章

    137

    浏览量

    10622
  • 智能硬件
    +关注

    关注

    205

    文章

    2325

    浏览量

    107366
收藏 人收藏

    评论

    相关推荐

    通过页面埋点做监控却不影响性能?解密ARMS前端监控数据上报技术内幕

    堆栈的详细信息,快速定位用户访问时发生的错误问题。3. API 请求是否正常响应API 调用日志 — 提供 API 调用结果、耗时及相关信息,快速发现并定位 API 问题。4. 业务相关日志自定义
    发表于 05-16 22:17

    开启智能马达控制之门

    开启智能马达控制之门 罗克韦尔自动化倡导真正智能化马达管理理念,为制造业优化效率和成本全球领先的工业自动化解决方案供应
    发表于 06-12 10:46 658次阅读

    ApiBoot Logging整合Spring Cloud Eureka负载均衡上报日志

    ApiBoot Logging支持整合服务注册中心(Eureka、Consul、Nacos Discovery、Zookeeper...)进行上报请求日志,Logging Client会从服务注...
    的头像 发表于 12-10 22:08 382次阅读

    ApiBootLogging整合SpringSecurity安全上报日志

    ApiBoot Logging在上报日志时虽然是一般通过内网的形式部署,不过安全方面还是主要依赖于服务器的安全策略(防火墙),为了提高日志上报...
    的头像 发表于 12-10 22:09 364次阅读

    详解MySQL三大日志的作用

    MySQL日志 主要包括错误日志、查询日志、慢查询日志、事务日志、二进制
    的头像 发表于 07-22 14:44 1294次阅读

    【C语言进阶】利用assert高效排查你的C程序

    【C语言进阶】利用assert高效排查你的C程序
    的头像 发表于 08-31 13:27 2044次阅读

    智能电力开启 高效用电之门

    智能电力开启 高效用电之门
    发表于 11-02 08:16 0次下载
    智能电力<b class='flag-5'>开启</b> <b class='flag-5'>高效</b>用电<b class='flag-5'>之门</b>

    解析Linux系统日志

    日志记录了系统每天发生的各种各样的事情,比如监测系统状况、排查系统故障等。你可以通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志
    的头像 发表于 01-05 09:41 1532次阅读

    针对大量log日志快速定位错误地方

    查看服务器、应用运行日志,这是每个程序员必备的工作技能,因为,日志是最好的查找出错问题在哪的途径。如果当服务器爆了,你却连如何定位错误都不知道?
    的头像 发表于 03-20 09:22 816次阅读

    服务器log日志大,掌握这些可正确快速定位错误

    针对大量log日志快速定位错误地方
    的头像 发表于 06-05 18:14 596次阅读

    怎么使用Go重构流式日志网关呢?

    流式日志网关的主要功能是提供 HTTP 接口,接收 CDN 边缘节点上报的各类日志(访问日志/报错日志/计费
    的头像 发表于 06-18 10:42 619次阅读
    怎么使用Go重构流式<b class='flag-5'>日志</b>网关呢?

    科普系列:CAN总线错误帧及排查方法简介

    作者|蒹葭小编|吃不饱CAN帧有多种格式,错误帧作为CAN帧中独特的一种,了解其作用,类型与产生原因,对于进行测试以及开发有很大的帮助,本文将对错误帧的相关基础知识以及后续的分析排查进行介绍。01
    的头像 发表于 02-23 15:11 2984次阅读
    科普系列:CAN总线<b class='flag-5'>错误</b>帧及<b class='flag-5'>排查</b>方法简介

    如何用示波器排查CAN的各种错误帧呢?

    如何用示波器排查CAN的各种错误帧呢? 导言: 控制器局域网络(Controller Area Network,CAN)是一种常用的现场总线通信协议,广泛应用于汽车电子系统、工业自动化等领域。然而
    的头像 发表于 12-07 11:09 1044次阅读

    Jtti:如何查看yum命令的错误日志来诊断问题?

    在Linux系统中,当yum命令无法正常工作时,查看错误日志是诊断问题的重要步骤。以下是一些方法,可以帮助你查看和分析yum命令的错误日志: 查看Yum历史记录 : 你可以通过 yum
    的头像 发表于 10-14 15:51 110次阅读

    Linux日志管理经验总结

    日志内容,合理的日志内容(日志锚点,内容格式,等)可以为应用服务的执行记录、问题排查提供最有力的帮助。
    的头像 发表于 10-24 17:36 123次阅读