登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-05-01 13:54:33 450浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《aws-sdk-go-v2 自定义记录器》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

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

Logger: aws.LoggerFunc(func(args ...interface{}) {
        log.WithField("process", "s3").Debug(args...)
    }),

这在 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 来实现此目的,有人可以建议我在这里需要做什么吗?


正确答案


似乎sdk v2提供了func wrapper来满足logging.logger

import (
   ...
   "github.com/aws/aws-sdk-go-v2/config"
   "github.com/aws/smithy-go/logging"
   log "github.com/sirupsen/logrus"
)

func main() {
    
    logger := logging.LoggerFunc(func(classification logging.Classification, format string, v ...interface{}) {
        // your custom logging 
        log.WithField("process", "s3").Debug(v...)
    })

    cfg, err := config.LoadDefaultConfig(
        context.TODO(),
        ...
        config.WithLogger(logger),
    )
    ....
}

今天关于《aws-sdk-go-v2 自定义记录器》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>