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:

