codecamp

GoFrame 日志组件-Context

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

自定义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

如果开发者自定义了日志对象的​Handler​,那么每个日志打印传递的​ctx​上下文变量将会传递给​Handler​中。

链路跟踪支持

glog​组件支持​OpenTelemetry​标准的链路跟踪特性,该支持是内置的,无需开发者做任何设置。

image2022-1-25_22-32-48


GoFrame 日志组件-颜色打印
GoFrame 日志组件-Handler
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GoFrame 核心组件

GoFrame 核心组件-数据库ORM

GoFrame 模块列表

GoFrame 模块列表-单元测试

GoFrame 模块列表-功能调试

GoFrame WEB服务开发

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }