配置日志记录
在[Log] 部分设置进程级日志记录选项:
默认值为
Format = "json" 和 Level = "info"。级别过滤是包含性的:warn 会发出警告和错误,而 debug 会发出所有级别的日志。这些值不区分大小写。
配置加载时会报告配置错误。启动时,无效的日志记录设置会导致内核使用其默认值;重新加载期间,无效的配置会使当前配置保持生效。对 [Log] 的更改会在内核启动、创建日志记录器时生效;重新加载配置会更新诸如服务这类运行时设置,但不会替换已经在运行的日志记录器。
常用字段
每条内核日志都用两个字段标识其来源:component 标识生成该记录的信任边界。from 标识内核子系统。常见的值包括:
http,用于 HTTP 访问记录;service_manager,用于服务发现和生命周期记录;以及config、server和cli,分别用于配置、服务器和命令行活动。
wasm 和 grpc 服务;static 服务没有运行中的进程,因此永远不会发出自己的日志记录。服务协议本身没有变化,归属信息是由内核的主机日志层附加的。
调试源位置
当Level = "debug" 时,日志记录器会自动为记录添加 source 字段,记录应用程序的调用位置。这有助于定位发出诊断记录的代码,但会增大每条记录的体积,通常也会增加日志量。
请勿将 source 与 from 混淆:
source是仅用于调试的日志记录器调用位置;而from是稳定的内核子系统或服务标识。
info、warn 和 error 级别下,调用位置的 source 字段会被省略。
HTTP 访问日志
内核会在每次 HTTP 请求后发出一条访问记录,包括由内核路由和服务路由处理的请求(无论该路由是被动态处理,还是通过静态传输提供打包文件)。 每条记录包含:
访问记录使用
component=kernel 和 from=http。其日志级别根据最终状态选择:
4xx响应记录为WARN;5xx响应记录为ERROR;以及- 其余响应记录为
INFO。
选择日志级别
正常运行时使用info。它包含 HTTP 访问记录和服务生命周期记录。
当您需要排查被拒绝的请求、不可用的命名空间或其他可恢复的情况时,使用 warn。当您需要排查失败的请求或操作时,使用 error。
当您需要临时诊断路由选择结果、成功的事件处理过程,或某条日志记录的确切调用位置时,使用 debug。诊断完成后请恢复为 info,以减少日志量,避免收集超出必要程度的诊断细节。