| 23 | ) |
| 24 | |
| 25 | func NewLogger(cfg config.LogConfig) *Logger { |
| 26 | baseLogger := log.With(). |
| 27 | Timestamp(). |
| 28 | Caller(). |
| 29 | Logger(). |
| 30 | Level(parseLogLevel(cfg.Level)) |
| 31 | |
| 32 | if !cfg.Json { |
| 33 | baseLogger = baseLogger.Output(zerolog.ConsoleWriter{ |
| 34 | Out: os.Stderr, |
| 35 | TimeFormat: time.RFC3339, |
| 36 | }) |
| 37 | } |
| 38 | |
| 39 | return &Logger{ |
| 40 | Audit: createLogger("audit", cfg.Streams.Audit, baseLogger), |
| 41 | HTTP: createLogger("http", cfg.Streams.HTTP, baseLogger), |
| 42 | App: createLogger("app", cfg.Streams.App, baseLogger), |
| 43 | } |
| 44 | } |
| 45 | |
| 46 | func NewSimpleLogger() *Logger { |
| 47 | return NewLogger(config.LogConfig{ |