物联网平台支持设备将本地日志上报到云端,在控制台进行查询和故障分析。
说明
- 使用了以下Link SDK的设备端支持本地日志上报,您也可以自行开发带有本地日志上报功能的SDK。
- 您在设备详情页,开启设备本地日志上报开关后,设备才能将本地日志上报到云端。
设备本地日志的具体查询方法,请参见设备本地日志。
设备获取日志配置
数据上行。
- 请求Topic:
/sys/${productKey}/${deviceName}/thing/config/log/get
。 - 响应Topic:
/sys/${productKey}/${deviceName}/thing/config/log/get_reply
。
Alink请求数据格式:
{
"id" : "123",
"version":"1.0",
"sys":{
"ack":0
},
"params" : {
"configScope":"device",
"getType":"content"
},
"method":"thing.config.log.get"
}
参数 | 类型 | 说明 |
---|---|---|
id | String | 消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。 |
version | String | 协议版本号,目前协议版本号唯一取值为1.0。 |
sys | Object | 扩展功能的参数,其下包含各功能字段。 说明 使用设备端SDK开发时,如果未设置扩展功能,则无此参数,相关功能保持默认配置。 |
ack | Integer | sys下的扩展功能字段,表示是否返回响应数据。
重要 该功能配置说明,请参见物模型使用示例。 如果未配置该功能,则无此参数,云端默认返回响应数据。 |
configScope | String | 配置范围,目前日志只有设备维度配置,默认为device。 |
getType | String | 获取内容类型,默认为content。因日志配置内容较少,默认直接返回内容。 |
method | String | 请求方法,取值thing.config.log.get。 |
Alink响应数据格式:
{
"id":"123",
"version":"1.0",
"code":200,
"data" :{
"getType":"content",
"content":{
"mode":0
}
}
}
参数 | 类型 | 说明 |
---|---|---|
id | String | 消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。 |
version | String | 协议版本号,目前协议版本号唯一取值为1.0。 |
code | Integer | 结果码。返回200表示成功,返回其他状态码,表示失败。 结果码6717、6718请参见下表错误信息。其他结果码请参见设备端通用code。 |
data | Object | 云端返回的结果数据。 |
getType | String | 获取内容类型,默认为content。因日志配置内容较少,默认直接返回内容。 |
content | String | 配置文本内容。 |
mode | Integer | 设备日志上报模式,0表示设备SDK不上报日志, 1表示设备SDK上报日志。 |
错误码 | 原因 | 排查方法 |
---|---|---|
6717 | 请求参数中getType取值非法,设备日志只支持content。 | 在物联网平台控制台,对应实例的 ,或在设备本地日志中,查看上报数据中的getType取值。 |
6718 | 请求参数中configScope取值非法,设备日志只支持device。 | 在物联网平台控制台,对应实例的 ,或在设备本地日志中,查看上报数据中的configScope取值。 |
设备接收订阅云端推送日志配置
数据下行。
Topic:/sys/${productKey}/${deviceName}/thing/config/log/push
。
Alink配置推送数据格式:
{
"id":"123",
"version":"1.0",
"params" :{
"getType":"content",
"content":{
"mode":0
}
}
}
参数 | 类型 | 说明 |
---|---|---|
id | String | 消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。 |
version | String | 协议版本号,目前协议版本号唯一取值为1.0。 |
getType | String | 获取内容类型,默认为content。因日志配置内容较少,默认直接返回内容。 |
content | String | 配置文本内容。 |
mode | Integer | 设备日志上报模式,0表示设备SDK不上报日志,1表示设备SDK上报日志。 |
设备上报日志内容
数据上行。
- 请求Topic:
/sys/${productKey}/${deviceName}/thing/log/post
。 - 响应Topic:
/sys/${productKey}/${deviceName}/thing/log/post_reply
。
Alink请求数据格式:
{
"id" : "123",
"version":"1.0",
"sys":{
"ack":0
},
"params" :[{
"utcTime": "2020-03-06T15:15:27.464+0800",
"logLevel": "ERROR",
"module": "ModuleA",
"code" :"4103",
"traceContext": "123456",
"logContent" : "some log content"
}],
"method" : "thing.log.post"
}
参数 | 类型 | 说明 |
---|---|---|
id | String | 消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。 |
version | String | 协议版本号,目前协议版本号唯一取值为1.0。 |
sys | Object | 扩展功能的参数,其下包含各功能字段。 说明 使用设备端SDK开发时,如果未设置扩展功能,则无此参数,相关功能保持默认配置。 |
ack | Integer | sys下的扩展功能字段,表示是否返回响应数据。
重要 该功能配置说明,请参见物模型使用示例。 如果未配置该功能,则无此参数,云端默认返回响应数据。 |
params | List | 请求业务参数。数组元素最多40个。 |
utcTime | String | 日志的采集时间,为设备本地UTC时间,包含时区信息,以毫秒计,格式为“yyyy-MM-dd'T'HH:mm:ss.SSSZ”。 可上报其它字符串格式,但不利于问题排查,不推荐使用。 |
logLevel | String | 日志级别。可以使用默认日志级别,也可以自定义日志级别。默认日志级别从高到低为:
|
module | String | 模块名称:
|
code | String | 结果状态码,Sting类型的数字。 错误码包含设备端SDK生成的错误码(Android SDK的错误码和C SDK的错误码)和用户自定义的状态码。 |
traceContext | String | 可选参数,上下文跟踪内容,设备端使用Alink协议消息的id,App端使用TraceId(追踪ID)。 |
logContent | String | 日志内容详情。 |
method | String | 请求方法,取值thing.log.post。 |
Alink响应数据格式:
{
"id" : "123",
"code":200,
"data" : {}
}
参数 | 类型 | 说明 |
---|---|---|
id | String | 消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。 |
code | Integer | 结果码。返回200表示成功,返回其他状态码,表示失败,具体请参见设备端通用code。 |
data | Object | 云端返回的结果数据。设备上报日志内容时,返回的结果数据为空。 |