物聯網平台支援裝置將本地日誌上報到雲端,在控制台進行查詢和故障分析。
說明
- 使用了以下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 | |
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 | |
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 | 雲端返回的結果資料。裝置上報日誌內容時,返回的結果資料為空白。 |