从v2版本开始,glog组件将ctx上下文变量作为日志打印的必需参数。
v2
glog
ctx
CtxKeys
日志组件支持自定义的键值打印,通过ctx上下文变量中读取。
# 日志组件配置 logger: Path: "/var/log/my-app" Level: "all" Stdout: false CtxKeys: ["RequestId"]
其中CtxKeys用于配置需要从context.Context接口对象中读取并输出的键名。
context.Context
在输出日志的时候,需要通过Ctx链式操作方法指定输出的context.Context接口对象,例如:
Ctx
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: // ...
Handler
如果开发者自定义了日志对象的Handler,那么每个日志打印传递的ctx上下文变量将会传递给Handler中。关于日志Handler的介绍请参考章节:日志组件-Handler
glog组件支持OpenTelemetry标准的链路跟踪特性,该支持是内置的,无需开发者做任何设置,具体请参考章节:链路跟踪
OpenTelemetry
goframe 日志如何配置输出请求接口的url,请求方式,对应接口所在文件名及路径和打印日志的行号这些信息呢
接口的Handler详细信息在路由表里面有,你可以自定义中间件实现自定义的日志打印。
嗯,感谢,感觉go的日志还是不好弄,之前写python的,用的loguru配置简单
3 Comments
akira
goframe 日志如何配置输出请求接口的url,请求方式,对应接口所在文件名及路径和打印日志的行号这些信息呢
郭强
接口的
Handler
详细信息在路由表里面有,你可以自定义中间件实现自定义的日志打印。akira
嗯,感谢,感觉go的日志还是不好弄,之前写python的,用的loguru配置简单