标签: logrus

aws-sdk-go-v2 自定义记录器

使用 SDK v1,我可以使用 logrus 作为我的自定义记录器,例如:

    Logger: aws.LoggerFunc(func(args ...interface{}) {
        log.WithField("process", "s3").Debug(args...)
    }),
Run Code Online (Sandbox Code Playgroud)

sdk v2 对此有所改变,https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/logging/

看来我需要按照https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/config#WithLogger使用logging.logger

我很难使用 logrus 来达到此目的,有人可以建议我在这里需要做什么吗?

go logrus aws-sdk-go-v2

7
推荐指数
1
解决办法
1024
查看次数

Logrus 转义 & 字符

&我正在使用 Logrus,并且在日志中显示字符时遇到了问题:

logger.WithFields(logrus.Fields{
        "value": "value&value",
}).Info("GET")
Run Code Online (Sandbox Code Playgroud)

这将打印value\u0026valueie 的十六进制值&而不是&其本身

有人知道如何解决这个问题吗?

如果可能有帮助,以下是记录器的初始化方式:

    import (
       "log"

       "github.com/getsentry/sentry-go"
       sentry_hook "github.com/onrik/logrus/sentry"
       "github.com/pkg/errors"
       "github.com/sirupsen/logrus"
    )

    func newLogger() *logrus.Entry {
        log := logrus.StandardLogger()
    
        log.SetFormatter(&logrus.JSONFormatter{})
    
        level, err := logrus.ParseLevel(config.LogLevel)
        if err != nil {
            log.Fatalf("%+v", errors.WithStack(err))
        }
        log.SetLevel(level)
    
        hook := newSentryHook()
        log.AddHook(hook)
    
        entry := logrus.NewEntry(log)
    
        return entry
    }
    
    func newSentryHook() *sentry_hook.Hook {
        if err := sentry.Init(sentry.ClientOptions{Dsn: config.SentryDSN}); err != nil {
            log.Fatalf("%+v", errors.WithStack(err))
        }
        hook, err := sentry_hook.NewHook(sentry_hook.Options{Dsn: config.SentryDSN}, logrus.PanicLevel, logrus.FatalLevel, …
Run Code Online (Sandbox Code Playgroud)

logging stdout go logrus

3
推荐指数
1
解决办法
1386
查看次数

是否可以使用 logrus 日志记录将“msg”替换为“message”

因此,当使用 Logrus 时,我需要日志记录输出具有 keymessage而不是msgkey,但是当我使用下面的代码时,我得到了两者,但msg为空,如何配置 logrus 以使用“message”而不是“msg”?

contextLogger.WithField("logger_name",topic).WithField("message",messageString).Info()
Run Code Online (Sandbox Code Playgroud)

.Info()这是将空的日志输出.Info()msg键时的日志输出

"logger_name": "logger","message": "log message","msg": "","time": "2020-08-12T15:14:48Z"
Run Code Online (Sandbox Code Playgroud)

我想要的是能够使用.Info(message)并拥有

"logger_name": "logger","message": "log message","time": "2020-08-12T15:14:48Z"
Run Code Online (Sandbox Code Playgroud)

是否可以更改 .Info() 等的默认日志记录键?

go logrus

2
推荐指数
1
解决办法
1728
查看次数

标签 统计

go ×3

logrus ×3

aws-sdk-go-v2 ×1

logging ×1

stdout ×1