Closed
Description
type ProducerConfig struct {
TotalSizeLnBytes int64
MaxIoWorkerCount int64
MaxBlockSec int
MaxBatchSize int64
MaxBatchCount int
LingerMs int64
Retries int
MaxReservedAttempts int
BaseRetryBackoffMs int64
MaxRetryBackoffMs int64
AdjustShargHash bool
Buckets int
AllowLogLevel string
LogFileName string
IsJsonType bool
LogMaxSize int
LogMaxBackups int
LogCompress bool
Endpoint string
AccessKeyID string
AccessKeySecret string
NoRetryStatusCodeList []int
UpdateStsToken func() (accessKeyID, accessKeySecret, securityToken string, expireTime time.Time, err error)
StsTokenShutDown chan struct{}
HTTPClient *http.Client
UserAgent string
NoLog bool
}
func logConfig(producerConfig *ProducerConfig) log.Logger {
var logger log.Logger
if producerConfig.LogFileName == "" {
if producerConfig.IsJsonType {
logger = log.NewJSONLogger(log.NewSyncWriter(os.Stdout))
} else {
logger = log.NewLogfmtLogger(log.NewSyncWriter(os.Stdout))
}
} else {
if producerConfig.IsJsonType {
logger = log.NewLogfmtLogger(initLogFlusher(producerConfig))
} else {
logger = log.NewJSONLogger(initLogFlusher(producerConfig))
}
}
switch producerConfig.AllowLogLevel {
case "debug":
logger = level.NewFilter(logger, level.AllowDebug())
case "info":
logger = level.NewFilter(logger, level.AllowInfo())
case "warn":
logger = level.NewFilter(logger, level.AllowWarn())
case "error":
logger = level.NewFilter(logger, level.AllowError())
default:
logger = level.NewFilter(logger, level.AllowInfo())
}
logger = log.With(logger, "time", log.DefaultTimestampUTC, "caller", log.DefaultCaller)
if producerConfig.NoLog {
logger = log.NewNopLogger()
}
return logger
}
Metadata
Metadata
Assignees
Labels
No labels