Versions Compared
compared with
Key
- This line was added.
- This line was removed.
- Formatting was changed.
从v2
版本开始,glog
组件将ctx
上下文变量作为日志打印的必需参数。
自定义CtxKeys
使用配置
Code Block | ||
---|---|---|
| ||
# 日志组件配置 [logger] Path = "/var/log/my-app" Level = "all" Stdout = false CtxKeys = ["RequestId"] |
其中CtxKeys
用于配置需要从context.Context
接口对象中读取并输出的键名。
日志输出
在输出日志的时候,需要通过Ctx
链式操作方法指定输出的context.Context
接口对象,例如:
Code Block | ||
---|---|---|
| ||
ctx := context.WithValue(context.Background(), "RequestId", "123456789") g.Log().Error(ctx,"runtime error") // May Output: // 2020-06-08 20:17:03.630 [ERRO] {123456789} runtime error // Stack: // ... |
日志示例
链路跟踪
链路跟踪支持
从goframe v1.15
版本开始,日志组件增加了对OpenTelemetry
规范的链路跟踪支持,该支持是标准化形式的,无需开发者做任何设置,具体请参考章节:链路跟踪(更新中)
除了链路跟踪能够实现全链路的TraceId
记录打印之外,由于框架组件完备并且设计良好,因此glog
组件也可以实现最小成本的自定义全链路跟踪信息打印。像这样:
传递给Handler
Panel | ||
---|---|---|
| ||
|