日誌系統
Luker 內建了完整的日誌擷取和管理系統,涵蓋後端服務和前端瀏覽器兩個層面。當你遇到問題需要排查時,日誌系統能幫助你快速定位原因。
日誌系統是一個獨立的功能模組,不依賴 Luker 的其他功能(如 Memory Graph、CardApp 等),無需額外設定即可使用。
後端日誌
Luker 的後端日誌系統會自動攔截伺服器端的所有主控台輸出,將日誌儲存在記憶體中供查看。
運作方式
- 自動攔截:服務啟動時,Luker 會自動攔截
console.log、console.warn、console.error等輸出 - 環形緩衝區:日誌儲存在固定大小的記憶體緩衝區中。當緩衝區滿時,最舊的日誌會被自動丟棄,確保不會佔用過多記憶體
- 時間戳和級別:日誌條目均記錄精確的時間戳和日誌級別,方便按時間和嚴重程度篩選
查看和管理
兩個日誌來源均位於使用者設定抽屜中:開啟抽屜後選擇日誌。來源選後端或前端,按起訖時間或筆數篩選,搜尋內容,並可複製或清空緩衝區。伺服端日誌對管理員可見,未啟用使用者帳戶的執行個體同樣可見。
診斷選單中的匯出除錯日誌會下載一個 JSON 包——前端日誌、效能標記、裝置與視口資訊、伺服端日誌,以及請求檢查器的緩衝區——回報問題時附上它最為便捷。
TIP
後端日誌僅儲存在記憶體中,服務重啟後會清空。如果你需要持久化的日誌記錄,建議將 Luker 的主控台輸出重新導向到檔案。
前端日誌管理器
Luker 還在瀏覽器端內建了一個日誌管理器,用於擷取前端執行時的各種資訊。
Console 攔截
前端日誌管理器會攔截瀏覽器的 console.trace、console.debug、console.log、console.info、console.warn、console.error 輸出,將其寫入記憶體緩衝區(最多保留 3000 條)。
全域錯誤擷取
前端日誌管理器還會自動擷取瀏覽器中的未處理錯誤和 Promise 拒絕事件,確保這些容易被忽略的異常也能被記錄下來。
日誌可見性
預設情況下,只有 error 級別的日誌會在瀏覽器主控台中顯示。如果你需要查看更詳細的除錯資訊,可以在診斷選單中開啟前端除錯日誌,此時所有級別的日誌均會輸出到瀏覽器主控台。
無論前端除錯日誌是否開啟,所有級別的主控台輸出均會被寫入記憶體緩衝區,可隨時匯出查看。
使用場景
除錯問題
當 Luker 出現異常行為時,日誌系統是最直接的排查工具:
- API 連線失敗 — 查看後端日誌中的錯誤資訊,確認 API 位址和金鑰是否正確
- 生成中斷 — 查看前端日誌中的錯誤資訊,或開啟請求檢查器查看請求生命週期
- 擴充功能報錯 — 前端日誌會擷取擴充功能執行時的錯誤,幫助定位問題擴充功能
回報問題
如果你需要向開發者回報問題,請使用使用者設定診斷選單中的匯出除錯日誌:它會將日誌快照與問題發生前後的完整上下文打包,比單純的截圖更有助於問題定位。
WARNING
日誌與請求檢查器記錄可能包含敏感內容(如 API 金鑰),分享前請檢查。