功能概述
设备日志主要用于平台远程查看设备运行日志,平台可通过下发消息,通知设备进行日志上报,日志级别包括错误、警告、信息和调试。实现此功能需利用如下两个 Topic:
数据上行 Topic(用于发布):
$log/operation/${productid}/${devicename}
。数据下行 Topic(用于订阅):
$log/operation/result/${productid}/${devicename}
。查询日志级别
1. 设备端通过 MQTT 协议发布一条消息到
$log/operation/${productid}/${devicename}
,进行查询是否需上传日志,及上传日志级别,消息为 json 格式,内容如下:{"type": "get_log_level","clientToken": "PPXLSKBUPZ-**"}
2. 设备主动查询是否需上报日志,或平台远程通知设备开启日志上报,后台通过
$log/operation/result/${productid}/${devicename}
向设备发送是否开启日志上报,及上报的日志级别,消息为 json 格式,内容如下:{"type": "get_log_level","clientToken": "PPXLSKBUPZ-**","log_level": 4,"result": 0,"timestamp": 1619599073}//log_level:0-不上报日志 1-上报错误日志 2-上报警告日志 3-上报信息日志 4-上报调试日志
日志上传
参数说明
设备日志上传时需携带 ProductId 和 DeviceName 向平台发起
http/https
请求,请求接口及参数如下:请求的 URL 为:
http://ap-guangzhou.gateway.tencentdevices.com/device/reportlog
https://ap-guangzhou.gateway.tencentdevices.com/device/reportlog
请求方式:Post
请求参数
参数名称 | 是否必选 | 类型 | 描述 |
ProductId | 是 | String | 产品 Id。 |
DeviceName | 是 | String | 设备名称。 |
Message | 是 | Array | 上报的日志内容。 字符串数组,每条日志内容前面需要加上日志等级,目前支持 DBG、INF、ERR、WRN。 |
说明:
接口只支持 application/json 格式。
签名生成
平台返回参数
参数名称 | 类型 | 描述 |
RequestId | String | 请求 Id。 |
示例代码
请求包
POST https://ap-guangzhou.gateway.tencentdevices.com/device/reportlogContent-Type: application/jsonHost: ap-guangzhou.gateway.tencentdevices.comX-TC-Algorithm: HmacSha256X-TC-Timestamp: 1551****65X-TC-Nonce: 5456X-TC-Signature: 2230eefd229f582d8b1b891af7107b91597240707d7****3738f756258d7652c{"DeviceName":"AAAAAA","Message":["INFmqtt connect success."],"ProductId":"G8N9****HB"}
返回包
{"Response":{"RequestId":"f4da4f1f-d72e-40f1-****-349fc0072ba0"}}