package main
import (
"context"
"github.com/gogf/gf/v2/frame/g"
)
func main() {
var ctx = context.Background()
// 可以直接使用String作为Key
ctx = context.WithValue(ctx, "RequestId", "123456789")
// 如需将Key提取为公共变量,可以使用gctx.StrKey类型,或直接使用string类型
const userIdKey gctx.StrKey = "UserId" // or const userIdKey = "UserId"
ctx = context.WithValue(ctx, userIdKey, "10000")
// 不能自定义类型
type notPrintKeyType string
const notPrintKey notPrintKeyType = "NotPrintKey"
ctx = context.WithValue(ctx, notPrintKey, "notPrintValue") // 不会打印 notPrintValue
g.Log().Error(ctx, "runtime error")
}
4 Comments
akira
goframe 日志如何配置输出请求接口的url,请求方式,对应接口所在文件名及路径和打印日志的行号这些信息呢
郭强
接口的
Handler
详细信息在路由表里面有,你可以自定义中间件实现自定义的日志打印。akira
嗯,感谢,感觉go的日志还是不好弄,之前写python的,用的loguru配置简单
Shujun Liu
请问可否把logger换成Uber的zap logger https://github.com/uber-go/zap