跳转至

errDump

一、errDump 功能概述

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

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

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

二、演示功能概述

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

三、准备硬件环境

参考:硬件环境清单第二章节内容,准备以及组装好硬件环境。

四、软件环境

“凡事预则立,不预则废。”在详细阐述本功能示例之前,我们需先精心筹备好以下软件环境。

1. Luatools工具

2. 内核固件文件(底层core固件文件):LuatOS-SoC_V2002_Air780EP;参考项目使用的内核固件

3. luatos需要的脚本和资源文件

脚本和资源文件点我,下载完整压缩文件包

lib脚本文件:使用Luatools烧录时,勾选 添加默认lib 选项,使用默认lib脚本文件;

准备好软件环境之后,接下来查看如何烧录项目文件到Air780EP核心板,将本篇文章中演示使用的项目文件烧录到Air780EP核心板中。

六、代码示例介绍

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

6.1.1 云平台配置

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

6.1.1.1 打开 IoT 平台

6.1.1.2 新建一个项目

6.1.1.3 将你自己建的项目 key 复制到 demo 中

6.1.1.4 打开设备 DEBUG 开关

6.1.2 自动发送错误信息到云平台

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

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

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

PRODUCT_KEY = "s1uUnY6KA06ifIjcutm5oNbG3MZf5aUv" --换成自己的
-- sys库是标配
_G.sys = require("sys")
_G.sysplus = require("sysplus")
log.style(1)

--下面演示自动发送
errDump.config(true, 600, "user_id")    -- 默认是关闭,用这个可以额外添加用户标识,比如用户自定义的ID之类

local function test_user_log()
    while true do
        sys.wait(15000)
        errDump.record("测试一下用户的记录功能")
    end
end

local function test_error_log()
    sys.wait(60000)
    lllllllllog.record("测试一下用户的记录功能") --默认写错代码死机
end

sys.taskInit(test_user_log)
sys.taskInit(test_error_log)
sys.run()

七、功能验证

7.1 Luatools 日志打印

7.2 云平台查看错误上报

八、总结

本示例介绍了将错误日志上报到合宙云平台的功能。

扩展

常见问题

给读者的话

本篇文章由Linden开发;

本篇文章描述的内容,如果有错误、细节缺失、细节不清晰或者其他任何问题,总之就是无法解决您遇到的问题;

请登录合宙技术交流论坛,点击文档找错赢奖金-Air780EP-LuatOS-软件指南-网络应用-errDump

用截图标注+文字描述的方式跟帖回复,记录清楚您发现的问题;

我们会迅速核实并且修改文档;

同时也会为您累计找错积分,您还可能赢取月度找错奖金!