Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

v2版本开始,glog组件将ctx上下文变量作为日志打印的必需参数。

自定义CtxKeys


使用配置

Code Block
languagego
# 日志组件配置
[logger]
    Path    = "/var/log/my-app"
    Level   = "all"
    Stdout  = false
    CtxKeys = ["RequestId"]

其中CtxKeys用于配置需要从context.Context接口对象中读取并输出的键名。

日志输出

在输出日志的时候,需要通过Ctx链式操作方法指定输出的context.Context接口对象,例如:

Code Block
languagego
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
titleContent Menu

Table of Contents