func logConfig()

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
}