@@ -4,12 +4,13 @@ import (
4
4
"os"
5
5
6
6
"github.com/natefinch/lumberjack"
7
+ "github.com/pluveto/flydav/cmd/flydav/conf"
7
8
"github.com/pluveto/flydav/pkg/logger"
8
9
"github.com/sirupsen/logrus"
9
10
)
10
11
11
- func InitLogger (conf Log , verbose bool ) {
12
- newLoggerCount := len (conf .Stdout ) + len (conf .File )
12
+ func InitLogger (cnf conf. Log , verbose bool ) {
13
+ newLoggerCount := len (cnf .Stdout ) + len (cnf .File )
13
14
if newLoggerCount != 0 {
14
15
for i := 0 ; i < newLoggerCount ; i ++ {
15
16
logger .AddLogger (logrus .New ())
@@ -22,33 +23,33 @@ func InitLogger(conf Log, verbose bool) {
22
23
// enable source code line numbers
23
24
logger .SetReportCaller (true )
24
25
} else {
25
- logger .SetLevel (levelToLogrusLevel (conf .Level ))
26
+ logger .SetLevel (levelToLogrusLevel (cnf .Level ))
26
27
}
27
28
28
- for _ , stdout := range conf .Stdout {
29
+ for _ , stdout := range cnf .Stdout {
29
30
currentLogger := logger .DefaultCombinedLogger .GetLogger (nextLoggerIndex )
30
31
switch stdout .Format {
31
- case LogFormatJSON :
32
+ case conf . LogFormatJSON :
32
33
currentLogger .SetFormatter (& logrus.JSONFormatter {})
33
- case LogFormatText :
34
+ case conf . LogFormatText :
34
35
currentLogger .SetFormatter (& logrus.TextFormatter {})
35
36
}
36
37
switch stdout .Output {
37
- case LogOutputStdout :
38
+ case conf . LogOutputStdout :
38
39
currentLogger .SetOutput (os .Stdout )
39
- case LogOutputStderr :
40
+ case conf . LogOutputStderr :
40
41
currentLogger .SetOutput (os .Stderr )
41
42
}
42
43
nextLoggerIndex ++
43
44
}
44
45
45
- for _ , file := range conf .File {
46
+ for _ , file := range cnf .File {
46
47
currentLogger := logger .DefaultCombinedLogger .GetLogger (nextLoggerIndex )
47
48
48
49
switch file .Format {
49
- case LogFormatJSON :
50
+ case conf . LogFormatJSON :
50
51
currentLogger .SetFormatter (& logrus.JSONFormatter {})
51
- case LogFormatText :
52
+ case conf . LogFormatText :
52
53
currentLogger .SetFormatter (& logrus.TextFormatter {})
53
54
}
54
55
currentLogger .SetOutput (& lumberjack.Logger {
@@ -62,3 +63,25 @@ func InitLogger(conf Log, verbose bool) {
62
63
}
63
64
64
65
}
66
+
67
+ // levelToLogrusLevel converts a string to a logrus.Level
68
+ func levelToLogrusLevel (level string ) logrus.Level {
69
+ switch level {
70
+ case "debug" :
71
+ return logrus .DebugLevel
72
+ case "info" :
73
+ return logrus .InfoLevel
74
+ case "warn" :
75
+ return logrus .WarnLevel
76
+ case "warning" :
77
+ return logrus .WarnLevel
78
+ case "error" :
79
+ return logrus .ErrorLevel
80
+ case "fatal" :
81
+ return logrus .FatalLevel
82
+ case "panic" :
83
+ return logrus .PanicLevel
84
+ default :
85
+ return logrus .InfoLevel
86
+ }
87
+ }
0 commit comments