1 Star 0 Fork 1

周涛/go_utils

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
go-redis.go 1.32 KB
一键复制 编辑 原始数据 按行查看 历史
周涛 提交于 5年前 . 优化go-redis logger
package logger
import (
"context"
"github.com/go-redis/redis/v8"
"github.com/go-redis/redisext"
"github.com/kataras/golog"
"runtime"
)
type GoRedisLogger struct {
redisext.OpenTelemetryHook
callbackLevel int
}
func NewGoRedisLogger(level int) redis.Hook {
if level == 0 {
level = 4
}
return &GoRedisLogger{callbackLevel: level}
}
// func (cl *GoRedisLogger) BeforeProcess(ctx context.Context, cmd redis.Cmder) (context.Context, error) {
// return cl.OpenTelemetryHook.BeforeProcess(ctx, cmd)
// }
func (cl *GoRedisLogger) AfterProcess(ctx context.Context, cmd redis.Cmder) error {
_, file, line, _ := runtime.Caller(cl.callbackLevel)
golog.Default.Debugf("%s\n%s(%d)", cmd.String(), file, line)
return cl.OpenTelemetryHook.AfterProcess(ctx, cmd)
}
// func (cl *GoRedisLogger) BeforeProcessPipeline(ctx context.Context, cmds []redis.Cmder) (context.Context, error) {
// return cl.OpenTelemetryHook.BeforeProcessPipeline(ctx, cmds)
// }
func (cl *GoRedisLogger) AfterProcessPipeline(ctx context.Context, cmds []redis.Cmder) error {
_, file, line, _ := runtime.Caller(cl.callbackLevel)
golog.Default.Debugf("redis pipeline start: %s(%d)", file, line)
for _, cmd := range cmds {
golog.Default.Debug(cmd.String())
}
golog.Default.Debug("redis pipeline end")
return cl.OpenTelemetryHook.AfterProcessPipeline(ctx, cmds)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/super_step/go_utils.git
git@gitee.com:super_step/go_utils.git
super_step
go_utils
go_utils
v1.1.6

搜索帮助