in consumer/worker.go [192:230]
func logConfig(option LogHubConfig) log.Logger {
var writer io.Writer
if option.LogFileName == "" {
writer = log.NewSyncWriter(os.Stdout)
} else {
if option.LogMaxSize == 0 {
option.LogMaxSize = 10
}
if option.LogMaxBackups == 0 {
option.LogMaxBackups = 10
}
writer = &lumberjack.Logger{
Filename: option.LogFileName,
MaxSize: option.LogMaxSize,
MaxBackups: option.LogMaxBackups,
Compress: option.LogCompass,
}
}
var logger log.Logger
if option.IsJsonType {
logger = log.NewJSONLogger(writer)
} else {
logger = log.NewLogfmtLogger(writer)
}
switch option.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)
return logger
}