11package sls
22
33import (
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
5857func initLogFlusher (logFileBackupCount , logMaxSize , logFileName string ) * lumberjack.Logger {
0 commit comments