aws-sdk-go-v2 自定义记录器
aws-sdk-go-v2 custom logger
借助 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),
)
....
}
借助 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),
)
....
}