我用于zerolog登录 go 应用程序。我想记录一个地图(json)并找到一种方法:
log.Info().
Str("foo", "bar").
Dict("dict", zerolog.Dict().
Str("bar", "baz").
Int("n", 1),
).Msg("hello world")
// Output: {"level":"info","time":1494567715,"foo":"bar","dict":{"bar":"baz","n":1},"message":"hello world"}
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,我需要key-value在方法中指定每一对zerolog.Dict()。我想知道是否有自动记录struct.
例如,我有一个类似的结构:
type Message struct {
AWS_REGION string `json:"region"`
LOG_LEVEL string `json:"level"`
STAGE string `json:"stage"`
REQUEST_ID string `json:"requestId"`
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种将Message实例传递给的方法
msg := Message{ ... }
zerolog.Dict("message", msg)
Run Code Online (Sandbox Code Playgroud)