Skip to content

Commit a27d8fe

Browse files
authored
fix logger file settings not work (#343)
1 parent ee26d1a commit a27d8fe

File tree

1 file changed

+25
-26
lines changed

1 file changed

+25
-26
lines changed

logger.go

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package sls
22

33
import (
4+
io "io"
45
"os"
56

67
"github.com/go-kit/kit/log"
@@ -19,40 +20,38 @@ func initDefaultSLSLogger() log.Logger {
1920
return GenerateInnerLogger(logFileName, isJsonType, logMaxSize, logFileBackupCount, allowLogLevel)
2021
}
2122

22-
func GenerateInnerLogger(logFileName, isJsonType, logMaxSize, logFileBackupCount, allowLogLevel string) log.Logger {
23-
var logger log.Logger
24-
25-
if logFileName == "" {
26-
logger = log.NewLogfmtLogger(log.NewSyncWriter(os.Stdout))
27-
return logger
28-
} else if logFileName == "stdout" {
29-
if isJsonType == "true" {
30-
logger = log.NewLogfmtLogger(initLogFlusher(logFileBackupCount, logMaxSize, logFileName))
31-
} else {
32-
logger = log.NewJSONLogger(initLogFlusher(logFileBackupCount, logMaxSize, logFileName))
33-
}
34-
} else if logFileName != "stdout" {
35-
if isJsonType == "true" {
36-
logger = log.NewJSONLogger(log.NewSyncWriter(os.Stdout))
37-
} else {
38-
logger = log.NewLogfmtLogger(log.NewSyncWriter(os.Stdout))
39-
}
40-
}
23+
func getLogLevelFilter(allowLogLevel string) level.Option {
4124
switch allowLogLevel {
4225
case "debug":
43-
logger = level.NewFilter(logger, level.AllowDebug())
26+
return level.AllowDebug()
4427
case "info":
45-
logger = level.NewFilter(logger, level.AllowInfo())
28+
return level.AllowInfo()
4629
case "warn":
47-
logger = level.NewFilter(logger, level.AllowWarn())
30+
return level.AllowWarn()
4831
case "error":
49-
logger = level.NewFilter(logger, level.AllowError())
32+
return level.AllowError()
5033
default:
51-
logger = level.NewFilter(logger, level.AllowInfo())
34+
return level.AllowInfo()
35+
}
36+
}
37+
38+
func GenerateInnerLogger(logFileName, isJsonType, logMaxSize, logFileBackupCount, allowLogLevel string) log.Logger {
39+
var writer io.Writer
40+
if logFileName == "stdout" || logFileName == "" { // for backward compatibility
41+
writer = log.NewSyncWriter(os.Stdout)
42+
} else {
43+
writer = initLogFlusher(logFileBackupCount, logMaxSize, logFileName)
44+
}
45+
46+
var logger log.Logger
47+
if isJsonType == "true" {
48+
logger = log.NewJSONLogger(writer)
49+
} else {
50+
logger = log.NewLogfmtLogger(writer)
5251
}
5352

54-
logger = log.With(logger, "time", log.DefaultTimestampUTC, "caller", log.DefaultCaller)
55-
return logger
53+
logger = level.NewFilter(logger, getLogLevelFilter(allowLogLevel))
54+
return log.With(logger, "time", log.DefaultTimestampUTC, "caller", log.DefaultCaller)
5655
}
5756

5857
func initLogFlusher(logFileBackupCount, logMaxSize, logFileName string) *lumberjack.Logger {

0 commit comments

Comments
 (0)