0

我正在使用 zap logger 的加糖记录器,我已经初始化了 zap 记录器,如下所示:

func InitLogger() {
    loggerMgr, err := logger.NewProduction()
    if err != nil {
        log.Println("error")
    }
    logger.ReplaceGlobals(loggerMgr)
    defer loggerMgr.Sync()
    logger := loggerMgr.Sugar()
    logger.Debug("START!")
}

我使用的日志语句如下:

zap.S().Errorf("Invalid thing_key: %s \n Please enter correct thing_key", payload.ThingKey)

我得到以下输出:

{"level":"error","ts":1623216910.6660104,"caller":"db/water_meter.go:40","msg":"Invalid thing_key: 123 \n Please enter correct thing_key"}

但我期待输出如下:

{"level":"error","ts":1623216910.6660104,"caller":"db/water_meter.go:40","msg":"Invalid thing_key: 123 
Please enter correct thing_key"}

请提供有关如何获得此输出的任何建议

4

1 回答 1

2

json 格式的 Zap 输出日志和 json 字符串中不允许出现换行符。

这是不可能做到你对zap图书馆要求的。

于 2021-06-09T10:13:50.813 回答