设备日志主要用于平台远程查看设备运行日志,平台可通过下发消息,通知设备进行日志上报,日志级别包括错误、警告、信息和调试。实现此功能需利用如下两个 Topic:
$log/operation/${productid}/${devicename}
。$log/operation/result/${productid}/${devicename}
。设备端通过 MQTT 协议发布一条消息到 $log/operation/${productid}/${devicename}
,进行查询是否需上传日志,及上传日志级别,消息为 json 格式,内容如下:
{
"type": "get_log_level",
"clientToken": "PPXLSKBUPZ-**"
}
设备主动查询是否需上报日志,或平台远程通知设备开启日志上报,后台通过 $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
请求,请求接口及参数如下:
http://ap-guangzhou.gateway.tencentdevices.com/device/reportlog
https://ap-guangzhou.gateway.tencentdevices.com/device/reportlog
参数名称 | 是否必选 | 类型 | 描述 |
---|---|---|---|
ProductId | 是 | String | 产品 Id |
DeviceName | 是 | String | 设备名称 |
Message | 是 | Array | 上报的日志内容。 字符串数组,每条日志内容前面需要加上日志等级,目前支持 DBG、INF、ERR、WRN |
说明:接口只支持 application/json 格式。
对请求报文进行签名有两种方式,密钥认证使用 HMAC-sha256 算法,证书认证使用 RSA_SHA256 算法,详情请参见 签名方法。
参数名称 | 类型 | 描述 |
---|---|---|
RequestId | String | 请求 Id |
POST https://ap-guangzhou.gateway.tencentdevices.com/device/reportlog
Content-Type: application/json
Host: ap-guangzhou.gateway.tencentdevices.com
X-TC-Algorithm: HmacSha256
X-TC-Timestamp: 1551****65
X-TC-Nonce: 5456
X-TC-Signature: 2230eefd229f582d8b1b891af7107b91597240707d7****3738f756258d7652c
{"DeviceName":"AAAAAA","Message":["INFmqtt connect success."],"ProductId":"G8N9****HB"}
{
"Response": {
"RequestId": "f4da4f1f-d72e-40f1-****-349fc0072ba0"
}
}
本页内容是否解决了您的问题?