我对郎来说是个新手。所以这里需要帮助。
我正在使用go-redis软件包来连接使用redis sentinal的红葡萄酒。一揽子:
github.com/go-redis/redis/v9现在我的问题是,每当我执行我的代码时,它就会执行内部日志记录,并在三元上进行一些自动打印。(请注意,我的代码中没有使用任何打印或日志语句)
以下是自动打印在终端上:"redis: 2022/11/04 09:33:07 sentinel.go:661:哨兵:新master=“redis-主”addr="127.0.0.1:6379“
**我不希望发生这种go-redis内部日志的打印,而且go-redis也不应该制作其内部日志**。
请帮助我如何禁用go-redis的内部日志记录和自动日志打印。
我的代码:
rdb := redis.NewFailoverClient(&redis.FailoverOptions{
MasterName: "master",
SentinelAddrs: []string{":26379"},
})
rdb.Ping(ctx)
err := rdb.Set(ctx, "key", "value", 0).Err()
if err != nil {
fmt.Println(err)
}我在各种论坛上查看过,没有得到任何信息。有人说我可以用
SetLogger() func of go-redis但我不知道怎么用它。如果有人能帮我处理这个示例代码的话。
发布于 2022-11-04 06:22:51
redis.SetLogger以internal.Logging作为参数。
您可以编写一个no-op记录器结构,它满足这个接口,但在Printf方法中什么也不做,并且可以在SetLogger方法中使用它。
喜欢
type NOOPLogger struct{}
func (NOOPLogger) Printf(ctx context.Context, format string, v ...interface{}) {
// Do nothing here
}
// Then wherever redis client is started/ connected
redis.SetLogger(NOOPLogger{})https://stackoverflow.com/questions/74312433
复制相似问题