使用go-kit logger api缺少方法

问题描述 投票:1回答:1

我想使用go kit存储库中的记录器,我看到了作者还提供了logrus API / factory,同时尝试使用logrus的一些常见API功能(例如[withFieldserror /info/ panic等)对其进行测试我不能只使用它们登录知道如何添加缺少的日志功能吗?

logrus.WithField API。

这是我想念的

  log.WithFields(log.Fields{
    "animal": "walrus",
  }).Info("A walrus appears")

还有信息/错误/调试等

这是我尝试过的

package main

import (
   log "github.com/go-kit/kit/log/logrus"
   "github.com/sirupsen/logrus"
)

func main() {

   logrusLogger := logrus.New()

   logrusLogger.Formatter = &logrus.JSONFormatter{TimestampFormat: "02-01-2006 15:04:05"}
   logger := log.NewLogrusLogger(logrusLogger)

    logger.Log("hello", "world”)  //working

   logger.WithFields(    //doesnt work

    logger.Info(      //doesnt work

}

记录器的类型为logrus,但我不能使用withFields信息/错误/调试等,您知道我在这里缺少什么吗?作为日志工具包创建的工厂,有没有办法使用logrus api?

go factory abstraction
1个回答
0
投票
这是因为log.NewLogrusLogger()创建了仅具有一种方法logruslogger(满足Log接口的要求)的未导出log.Logger。它不支持logrus本身的其他方法。
© www.soinside.com 2019 - 2024. All rights reserved.