tencent cloud

物联网通信

动态与公告
产品动态
产品简介
产品概述
产品功能
产品优势
应用场景
产品限制
基本概念
快速入门
快速开始
场景一:设备互通
场景二:设备状态上报与状态设置
MQTT.fx接入指南
控制台使用手册
产品管理
规则引擎
子账号访问IoT
固件升级
资源管理
证书管理
开发者手册
功能组件
签名方法
设备身份认证
设备接入协议
网关子设备
消息通信
设备影子
设备固件升级
设备远程配置
资源管理
设备日志上报
NTP服务
设备端接入手册
设备接入概述
基于C SDK接入
基于 Android SDK 接入
基于 Java SDK 接入
基于 Python SDK 接入
API 文档
History
Introduction
API Category
Making API Requests
Device Shadow APIs
Device APIs
CA Certificate APIs
Product APIs
Data Types
Error Codes
常见问题
一般性问题
设备接入和上报问题
规则引擎问题
控制台相关问题
IoT Hub 政策
隐私协议
数据处理和安全协议
词汇表

设备日志上报

PDF
聚焦模式
字号
最后更新时间: 2024-12-27 15:54:13

功能概述

设备日志主要用于平台远程查看设备运行日志,平台可通过下发消息,通知设备进行日志上报,日志级别包括错误、警告、信息和调试。实现此功能需利用如下两个 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/reportloghttps://ap-guangzhou.gateway.tencentdevices.com/device/reportlog
请求方式:Post

请求参数

参数名称
是否必选
类型
描述
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"
}
}

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈