首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用go-redis包的内部日志记录

如何禁用go-redis包的内部日志记录
EN

Stack Overflow用户
提问于 2022-11-04 05:00:19
回答 1查看 51关注 0票数 1

我对郎来说是个新手。所以这里需要帮助。

我正在使用go-redis软件包来连接使用redis sentinal的红葡萄酒。一揽子:

代码语言:javascript
复制
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的内部日志记录和自动日志打印。

我的代码:

代码语言:javascript
复制
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)
}

我在各种论坛上查看过,没有得到任何信息。有人说我可以用

代码语言:javascript
复制
SetLogger() func of go-redis

但我不知道怎么用它。如果有人能帮我处理这个示例代码的话。

EN

回答 1

Stack Overflow用户

发布于 2022-11-04 06:22:51

redis.SetLoggerinternal.Logging作为参数。

您可以编写一个no-op记录器结构,它满足这个接口,但在Printf方法中什么也不做,并且可以在SetLogger方法中使用它。

喜欢

代码语言:javascript
复制
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{})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74312433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档