Skip to content

agentDebugger()

服务端 Vite 插件,运行时日志收集的底层入口。 普通项目优先用 agentEyes(),它会默认组合 agentDebugger() 并自动注入客户端埋点。需要精细控制日志服务端时,再单独使用本 API。

最小示例

ts
// vite.config.ts
import { defineConfig } from 'vite'
import { agentDebugger } from 'vite-plugin-agent-eyes'

export default defineConfig({
  plugins: [agentDebugger()],
  // agentDebugger({ screenshots: true })  // 可选:开启错误截图,需配合 CDP Chrome
})

挂上这一行后,前端再调用 autoInstrument(),运行时日志就会出现在 log/<port>/(每次启动清空,最新在最上)。

何时用

它是日志收集器:客户端的 autoInstrument()(自动埋点)和 logApiCall / logConsoleEntry / recordLoginSuccess 等(手动埋点)所有上报,都通过它写入磁盘。不挂 agentEyes()agentDebugger(),客户端函数的上报会发到不存在的端点,什么日志都不会产生。

它还负责启动期的配置诊断:endpoint 没以 / 开头、flushMs / maxBytes 过小都会在 dev server 启动时提示。

签名

agentDebugger(options?): Plugin

选项默认说明
logDir'log'日志目录(相对项目根)
endpoint'/dev/log'接收前端上报的端点
flushMs200落盘节流间隔(ms),高频上报只批写
maxBytes524288单日志文件大小上限(字节),超过截断旧记录
screenshotsfalse错误时自动截图(通过 CDP)

注意

  • 截图需配合 CDP Chromescreenshots: true 后,错误会通过 Chrome DevTools Protocol 截图存入 log/<port>/snapshots/。需要用 --remote-debugging-port=9222 启动 Chrome,插件会自动检测 9222–9232 端口;找不到则静默跳过,不影响其余日志。DOM 快照不需要 CDP,始终启用。详见 ../guide/snapshots
  • 落盘有节流flushMs 默认 200ms,高频上报会批写,避免每个请求都打一次磁盘。

下一步