logs 會讀取 dev 工作階段從你的擴充功能收集到的記錄:background、content script、popup、options 以及其餘情境。一個指令就能依序合併顯示全部內容,不必開啟任何一個 DevTools 視窗。
何時使用 logs
- 你想在同一道串流裡同時看到 background worker 與某個 content script 的主控台輸出。
- agent 或指令稿需要機器可讀的記錄,而不是從終端機文字裡刮取。
- 你想查看擴充功能稍早記錄了什麼,而不必重新觸發一次那個行為。
用法
logs 會印出磁碟上已有的記錄然後結束。加上 --follow 可以保持連線,即時串流新的記錄。
參數與 flag
選擇某個
--level 會一併包含該層級以及所有更嚴重的層級。--level warn 會顯示 warn 與 error。一般的 console.log 記錄算作 info。
一次性模式
不加--follow 時,指令會直接讀取 dist/extension-js/<browser>/logs.ndjson,不需要任何即時連線。開發工作階段會把每一筆記錄附加到那個檔案,所以即使你已經關掉瀏覽器,一次性讀取仍然有效。
如果該檔案不存在,logs 會提示你先啟動 extension dev,並以結束碼 1 結束。機器可讀格式還會輸出一個錯誤碼為 E_LOGS_NOT_FOUND 的失敗信封(參見 結果信封)。
跟隨模式
--follow 會查出工作階段的就緒契約,以記錄消費端的身分連上控制通道,並在記錄產生時串流出來。它需要一個執行中的開發工作階段,但不需要任何解鎖 flag:記錄消費永遠是允許的。
logs 會在 stderr 上印出一行提示,說明丟棄的筆數與原因。
當你用 Ctrl+C 停止串流時,機器可讀格式會印出一個狀態為 interrupted 的終止成功信封,讓消費端能分辨乾淨的停止與當機。結束碼為 0。
如果找不到所選瀏覽器對應的工作階段,指令會以 E_SESSION_NOT_FOUND 失敗,並指名該執行的 extension dev 指令。
輸出格式
pretty 模式每筆記錄印出一行:ndjson 每行印出一筆原始 JSON 記錄,很適合 jq 與記錄收集器。json 則會把每筆記錄格式化成多行。當 stdout 不是 TTY 時,ndjson 本來就是預設值,因此導管不需要額外的 flag:

