GoFrame 日志組件-Context

2022-03-29 15:23 更新

從?v2?版本開始,?glog?組件將?ctx?上下文變量作為日志打印的必需參數(shù)。

自定義CtxKeys

日志組件支持自定義的鍵值打印,通過?ctx?上下文變量中讀取。

使用配置

# 日志組件配置
logger:
  Path:    "/var/log/my-app"
  Level:   "all"
  Stdout:  false
  CtxKeys: ["RequestId"]

其中?CtxKeys?用于配置需要從?context.Context?接口對象中讀取并輸出的鍵名。

日志輸出

在輸出日志的時候,需要通過?Ctx?鏈式操作方法指定輸出的?context.Context?接口對象,例如:

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:
// ...

日志示例

image2021-8-11_21-15-37

傳遞給Handler

如果開發(fā)者自定義了日志對象的?Handler?,那么每個日志打印傳遞的?ctx?上下文變量將會傳遞給?Handler?中。

鏈路跟蹤支持

?glog?組件支持?OpenTelemetry?標準的鏈路跟蹤特性,該支持是內(nèi)置的,無需開發(fā)者做任何設(shè)置。

image2022-1-25_22-32-48


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號