一、errDump功能

LuatOS-Air错误日志上报功能模块名叫:errDump,errDump对“量产投放市场的设备,远程调试初步定位问题”至关重要,强烈建议客户一定要使用此功能。errDump就是将模块运行过程中产生的错误信息或者应用日志通过TCP/UDP上报到互联网上的指定服务器,技术人员可以在服务器上查阅日志,协助远程了解设备运行情况,或者故障诊断。

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

二、演示功能概述

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

三、准备硬件环境

3.1 780E开发板一套

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

3.2 PC电脑

WINDOWS系统。

3.3 SIM卡

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

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

3.4 数据通信线

typec接口USB数据线即可。

四、准备软件环境

4.1基本的下载调试工具

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

五、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.1 上传错误日志到合宙云平台

6.1.1 云平台配置

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

(1)打开IOT平台

(2)新建一个项目

(3)将项目KEY复制到DEMO中

(4)打开设备DEBUG开关

6.1.2 demo介绍

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

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

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

七、验证功能

7.1 Luatools日志打印

7.2 云平台查看错误上报

本文完。

780E开发板之errDump错误日志上报,操作方法解析的更多相关文章

  1. 使用AlloyLever来搞定开发调试发布,错误监控上报,用户问题定位

    传送门: # gituhbhttps://github.com/AlloyTeam/AlloyLever # 官网https://alloyteam.github.io/AlloyLever/ 下载和 ...

  2. 腾讯AlloyTeam发布AlloyLever - 开发调试发布错误监控上报用户问题定位尽在1kb代码

    AlloyLever [官网][Giuhub] 1kb(gzip)代码搞定开发调试发布,错误监控上报,用户问题定位. 支持错误监控和上报 支持 vConsole错误展示 支持开发阶段使用 vConso ...

  3. PHP错误日志记录:display_errors与log_errors的区别

    我们所做的东西,无论在开发环境还是在生产环境都可能会出现一些问题. 开发环境下,我们会要求错误尽可能详细的呈现出来,错误提示信息越详细越好,越详细越能帮助开发人员确定问题所在并从根本上解决他们. 生产 ...

  4. asp.net 添加错误日志

    在开发程序中,错误日志很有必要.今天就把使用到的添加错误日志,记录下来,方便以后查看 利用的asp.net错误处理机制 Application_Error 贴出代码 protected void Ap ...

  5. 关于郭天祥51开发板无法烧敲代码问题的解决(Prolific USB-to-Serial Comm Port)

    1. 事件背景: 因为使用了win8系统,之前购买的郭天祥C51开发板在通过一个两头都是usb口的下载线下载程序时出现了问题:下载工具stc isp无法连接到开发板上的串口,所以无法下载程序到c51开 ...

  6. .Net Core中间件和过滤器实现错误日志记录

    1.中间件的概念 ASP.NET Core的处理流程是一个管道,中间件是组装到应用程序管道中用来处理请求和响应的组件. 每个中间件可以: 选择是否将请求传递给管道中的下一个组件. 可以在调用管道中的下 ...

  7. TPYBoard开发板搭建与阿里云服务发送数据

       今天给大家带来的是TPYBoard V202开发板的一次测试项目使用心得.而测试项目就是给服务端发送硬件底层数据,而数据有产品名称,WF模块MAC地址,温湿度数据.      什么是MicroP ...

  8. LS1021ATWR开发板启动日志分析

    一.背景 LS1021ATWR开发板运行官方的openwrt系统 二.日志分析 2.1 linux相关日志 root@OpenWrt:/# reboot  重启 root@OpenWrt:/# [ 2 ...

  9. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [7] APP 错误日志接口

    APP 上线以后可能遇到的问题: ① APP 强退 ② 数据加载失败 ③ APP 潜在问题 错误日志需要记录的内容 数据表 error_log 字段: id app_id:app 类别 id did: ...

  10. cc2540 cc2541 开发板资料更新日志

    经过多次PCB打样和全面调试.已经完毕了cc2540 cc2541的开发板的批量贴片.硬件告一段落, 接下来是全面完好软件方面的工作.眼下已经针对没有开发经验的用户编写完毕0基础基础实验代码和教程.接 ...

随机推荐

  1. Windows 不小心把管理员帐户弄没了怎么办

    今天折腾不小心把管理员帐号的权限给改没了,重启之后很多操作做不了.解决方法如下: Windows + R 打开运行,或者打开资源管理器,输入 control userpasswords2 命令打开用户 ...

  2. android 播放视频页面黑屏,且报错:Couldn't open 'xxxxxx' java.io.FileNotFoundException: No content provider:

    原因为,activity的顶部布局,VideoView设定了android:background="@color/bg_black"去掉就可以了 之前跑着都正常,改了UI后就没有去 ...

  3. 【YashanDB知识库】列与存储过程中重名变量/别名问题

    问题现象 当一条查询中出现了重复别名,或者在一个存储过程中出现了变量名称与查询中别名相同,就会报错.这个问题在多个客户现场出现. create table test_tab1 (c1 int, c2 ...

  4. TS中简单实现一下依赖注入

    依赖注入(Dependency Injection,DI)是一种设计模式,主要用于实现控制反转(Inversion of Control,IoC).它通过将对象的依赖关系从内部管理转移到外部容器来解耦 ...

  5. 18 Python如何操作文件?

    本篇是 Python 系列教程第 18 篇,更多内容敬请访问我的 Python 合集 1 打开文件 通常使用内置的 open(文件路径, 模式, encoding="utf-8") ...

  6. JavaScript – Proxy

    参考 阮一峰 – Proxy 介绍和使用 Proxy 的作用是代理对象, 消费者不直接使用对象, 而是使用代理对象. 一般上做代理的目的就是想拦截对象访问做一些别的事情. 比如当对象改变以后, 同步 ...

  7. Wpf使用NLog将日志输出到LogViewer

    1 LogViewer LogViewer是通过UDP传输的高性能实时log查看器. 具有一下特性: 通过UDP读取日志 通过文件导入日志 导出日志到一个文件中 排序.过滤(日志树,日志等级)和查找 ...

  8. 基于AIOps实现智慧园区极简IT运维

    随着物联网.云平台.大数据.人工智能等技术的发展,并逐步投入到智慧园区的建设,传统园区数字化转型加快.园区的形式包括产业园区.教育园区.制造业园区.科研园区.社区等等,园区形态不断演进和发展,园区网承 ...

  9. 单Master节点的k8s集群部署-完整版

    K8S 安装步骤 一.准备工作 1.准备三台主机(一台Master节点,两台Node节点)如下: 角色 IP 内存 核心 磁盘 Master 192.168.116.131 4G 4个 55G Nod ...

  10. 利用csv文件信息,将图片名信息保存到csv文件当中

    我们可以利用train.csv文件信息, 再结合给定的文件路径(path)信息,可以将给定字目录下的图片名信息整合到scv文件当中. train.csv文件格式: 图片名信息: 代码如下: from ...