从v2
版本开始,glog
组件将ctx
上下文变量作为日志打印的必需参数。
日志组件支持自定义的键值打印,通过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:
// ...
如果开发者自定义了日志对象的Handler
,那么每个日志打印传递的ctx
上下文变量将会传递给Handler
中。
glog
组件支持OpenTelemetry
标准的链路跟踪特性,该支持是内置的,无需开发者做任何设置。
一、简介YAML语言(发音/ˈjæməl/)的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。它的基本语法规...
gcmd组件提供了常用的基础包方法,可以按照默认的解析规则,直接获取命令行参数及选项。常用方法更多组件方法请参考接口文档...
基本介绍框架提供了默认的错误码组件gcode,错误码使用接口化设计,以实现高扩展性。接口定义// Code is universal error co...
gvalid校验组件支持强大的递归校验特性。如果给定的校验数据中的属性或者键值为struct/map/slice类型时,将会被自动执行...
一、OpenTelemetry分布式链路跟踪(DistributedTracing)的概念最早是由Google提出来的,发展至今技术已经比较成熟,也...
一、基本介绍我们都知道,开发业务项目离不开数据库操作组件的使用,数据库是绝大部分业务项目的核心,这也是"CRUD工程师"戏称的...
基本介绍数组容器,提供普通数组,及排序数组,支持数据项唯一性矫正,支持并发安全开关控制。使用场景:数组操作。使用方式:im...
基础使用package mainimport ("fmt""github.com/gogf/gf/v2/container/glist")func main() {// Not concurrent-safe in default....
基本使用package mainimport ("fmt""github.com/gogf/gf/v2/container/gtree""github.com/gogf/gf/v2/util/gutil")func main() {...