代码拉取完成,页面将自动刷新
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)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。