|
1 | 1 | package main |
2 | 2 |
|
3 | 3 | import ( |
4 | | - "go.uber.org/zap" |
5 | | - "go.uber.org/zap/zapcore" |
| 4 | + "os" |
| 5 | + |
| 6 | + "github.com/webdevops/go-common/log/slogger" |
6 | 7 | ) |
7 | 8 |
|
8 | 9 | var ( |
9 | | - logger *zap.SugaredLogger |
| 10 | + logger *slogger.Logger |
10 | 11 | ) |
11 | 12 |
|
12 | | -func initLogger() *zap.SugaredLogger { |
13 | | - var config zap.Config |
14 | | - if Opts.Logger.Development { |
15 | | - config = zap.NewDevelopmentConfig() |
16 | | - config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder |
17 | | - } else { |
18 | | - config = zap.NewProductionConfig() |
19 | | - } |
20 | | - |
21 | | - config.Encoding = "console" |
22 | | - config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder |
23 | | - |
24 | | - // debug level |
25 | | - if Opts.Logger.Debug { |
26 | | - config.Level = zap.NewAtomicLevelAt(zapcore.DebugLevel) |
27 | | - } |
28 | | - |
29 | | - // json log format |
30 | | - if Opts.Logger.Json { |
31 | | - config.Encoding = "json" |
32 | | - |
33 | | - // if running in containers, logs already enriched with timestamp by the container runtime |
34 | | - config.EncoderConfig.TimeKey = "" |
35 | | - } |
36 | | - |
37 | | - // build logger |
38 | | - log, err := config.Build() |
39 | | - if err != nil { |
40 | | - panic(err) |
| 13 | +func initLogger() *slogger.Logger { |
| 14 | + loggerOpts := []slogger.LoggerOptionFunc{ |
| 15 | + slogger.WithLevelText(Opts.Logger.Level), |
| 16 | + slogger.WithFormat(slogger.FormatMode(Opts.Logger.Format)), |
| 17 | + slogger.WithSourceMode(slogger.SourceMode(Opts.Logger.Source)), |
| 18 | + slogger.WithTime(Opts.Logger.Time), |
| 19 | + slogger.WithColor(slogger.ColorMode(Opts.Logger.Color)), |
41 | 20 | } |
42 | 21 |
|
43 | | - logger = log.Sugar() |
| 22 | + logger = slogger.NewCliLogger( |
| 23 | + os.Stderr, loggerOpts..., |
| 24 | + ) |
44 | 25 |
|
45 | 26 | return logger |
46 | 27 | } |
0 commit comments