日志系统
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 密钥),分享前请检查。