日志记录
初始化日志记录器
您需要初始化一个日志记录器结构。
通过在全局变量中执行此初始化,您可以从两个主要策略入口点记录:validate`和`validate_settings。
在主包中,`main.go`有日志记录器的初始化:
var (
logWriter = kubewarden.KubewardenLogWriter{}
logger = onelog.New(
&logWriter,
onelog.ALL, // shortcut for onelog.DEBUG|onelog.INFO|onelog.WARN|onelog.ERROR|onelog.FATAL
)
)
使用日志记录器
现在,您可以使用`logger`对象在需要的地方进行日志记录:
func validate(payload []byte) ([]byte, error) {
// ...
logger.Info("validating request")
// ...
}
您可以添加结构化日志记录:
func validate(payload []byte) ([]byte, error) {
// ...
logger.WarnWithFields("logging something important", func(e onelog.Entry) {
e.String("one_field", "a value")
e.String("another_field", "another value")
})
// ...
}
您可以参考`onelog`文档以获取更多信息。
策略日志记录发送到策略评估器(例如,kwctl`或`policy-server),它们代表策略进行日志记录。
它们使用与其他组件互操作的机制,这些组件支持分布式追踪,例如Jaeger。