如何使用 go.uber.org/zap lib 以不同的日志级别打印不同的颜色,并根据日志级别将日志附加到不同的文件?

Posted

技术标签:

【中文标题】如何使用 go.uber.org/zap lib 以不同的日志级别打印不同的颜色,并根据日志级别将日志附加到不同的文件?【英文标题】:How can I use go.uber.org/zap lib to print different color with different log level and append log to different file depend on the log level? 【发布时间】:2017-08-24 17:35:50 【问题描述】:

我开始在我的 Go 项目中使用 zap 日志库。我想根据日志级别将不同的颜色打印到 tty 控制台。

我发现zap/internal/color包可以为字符串显示不同的颜色,但我想用不同的颜色来改变日志级别。

我也想将日志写入一些不同日志级别的日志文件中。

如何初始化和配置 zap 记录器?

【问题讨论】:

关于如何根据级别登录到不同的输出,另见this 【参考方案1】:

刚遇到同样的问题,下面是一些启用颜色的代码sn-ps:

config := zap.NewDevelopmentConfig()
config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder
logger, _ := config.Build()

logger.Info("Now logs should be colored")

参考:https://github.com/uber-go/zap/pull/307

【讨论】:

这里也讨论过 - github.com/uber-go/zap/issues/648。

以上是关于如何使用 go.uber.org/zap lib 以不同的日志级别打印不同的颜色,并根据日志级别将日志附加到不同的文件?的主要内容,如果未能解决你的问题,请参考以下文章

Zap简单使用

golang高性能日志库zap配置示例

是否可以在运行时更新 zap 记录器的日志级别?

利用 go/ast 语法树做代码生成

如何使用 litecoire-lib 广播交易?

如何看懂lib文件里的东西???