Log 格式說明

智慧設備順序控制系統共用骨架文件

返回首頁

Log 格式說明

LogEntry 欄位

第一階段已實作的輸出欄位如下:

欄位說明必填
TimestampLog 時間,使用 ISO 8601 格式
LevelINFO / ERROR
TaskId任務識別碼
NodeId節點代號
NodeName節點名稱
DeviceId設備識別碼依情境
CommandName命令名稱依情境
Status節點狀態,例如 completed / failed
RetryCount實際重試次數
TimeTakenMs節點整體耗時毫秒數
ErrorCode錯誤代碼,成功時為 NONE
Message紀錄訊息

範例:

2026-05-22T00:26:20.6077037+08:00 level="INFO" taskId="demo-task" nodeId="light-on" nodeName="開啟燈號" deviceId="LED_001" command="LightOn" status="completed" retryCount=0 timeTakenMs=0 errorCode="NONE" message="Mock command 'LightOn' completed."

ConsoleLogWriter 與 FileLogWriter 共用 LogEntryFormatter,確保 Console 與檔案輸出格式一致。字串欄位會使用雙引號包住,換行、反斜線與雙引號會被轉義,避免單筆 Log 斷行造成後續查詢困難。

後續目標欄位

欄位說明必填
TimestampLog 時間
LevelDebug / Info / Warn / Error
TaskId任務識別碼
NodeId節點代號
NodeName節點名稱
DeviceId設備代號依情境
DeviceName設備名稱依情境
CommandName命令名稱依情境
Status任務或節點狀態
StartTime開始時間
EndTime結束時間
TimeTakenMs耗時
ErrorCode錯誤代碼失敗時必填
ErrorMessage錯誤訊息失敗時必填
RetryCount重試次數依情境
RawRequest原始送出資料依情境
RawResponse原始回應資料依情境
Operator操作人依情境
HostName主機名稱
AppVersion程式版本

原則