11package log
22
33import (
4- "fmt "
4+ "os "
55
6- "github.com/fatedier/beego/logs "
6+ "github.com/fatedier/golib/log "
77)
88
9- var Log * logs.BeeLogger
9+ var (
10+ TraceLevel = log .TraceLevel
11+ DebugLevel = log .DebugLevel
12+ InfoLevel = log .InfoLevel
13+ WarnLevel = log .WarnLevel
14+ ErrorLevel = log .ErrorLevel
15+ )
16+
17+ var defaultLogger * log.Logger
1018
1119func init () {
12- Log = logs .NewLogger (200 )
13- Log .EnableFuncCallDepth (true )
14- Log .SetLogFuncCallDepth (Log .GetLogFuncCallDepth () + 1 )
20+ defaultLogger = log .New (
21+ log .WithCaller (true ),
22+ log .AddCallerSkip (1 ),
23+ log .WithLevel (log .InfoLevel ),
24+ )
1525}
1626
1727func InitLog (logWay string , logFile string , logLevel string , maxdays int64 ) {
@@ -21,54 +31,54 @@ func InitLog(logWay string, logFile string, logLevel string, maxdays int64) {
2131
2232// logWay: file or console
2333func SetLogFile (logWay string , logFile string , maxdays int64 ) {
34+ options := []log.Option {}
2435 if logWay == "console" {
25- Log .SetLogger ("console" , "" )
36+ options = append (options ,
37+ log .WithOutput (log .NewConsoleWriter (log.ConsoleConfig {
38+ Colorful : true ,
39+ }, os .Stdout )),
40+ )
2641 } else {
27- params := fmt .Sprintf (`{"filename": "%s", "maxdays": %d}` , logFile , maxdays )
28- Log .SetLogger ("file" , params )
42+ writer := log .NewRotateFileWriter (log.RotateFileConfig {
43+ FileName : logFile ,
44+ Mode : log .RotateFileModeDaily ,
45+ MaxDays : int (maxdays ),
46+ })
47+ writer .Init ()
48+ options = append (options , log .WithOutput (writer ))
2949 }
50+ defaultLogger = defaultLogger .WithOptions (options ... )
3051}
3152
3253// value: error, warning, info, debug, trace
3354func SetLogLevel (logLevel string ) {
34- level := 4 // warning
35- switch logLevel {
36- case "error" :
37- level = 3
38- case "warn" :
39- level = 4
40- case "info" :
41- level = 6
42- case "debug" :
43- level = 7
44- case "trace" :
45- level = 8
46- default :
47- level = 4
55+ level , err := log .ParseLevel (logLevel )
56+ if err != nil {
57+ level = log .WarnLevel // default to warning
4858 }
49- Log . SetLevel ( level )
59+ defaultLogger = defaultLogger . WithOptions ( log . WithLevel ( level ) )
5060}
5161
5262// wrap log
5363
5464func Error (format string , v ... interface {}) {
55- Log . Error (format , v ... )
65+ defaultLogger . Errorf (format , v ... )
5666}
5767
5868func Warn (format string , v ... interface {}) {
59- Log . Warn (format , v ... )
69+ defaultLogger . Warnf (format , v ... )
6070}
6171
6272func Info (format string , v ... interface {}) {
63- Log . Info (format , v ... )
73+ defaultLogger . Infof (format , v ... )
6474}
6575
6676func Debug (format string , v ... interface {}) {
67- Log . Debug (format , v ... )
77+ defaultLogger . Debugf (format , v ... )
6878}
6979
7080func Trace (format string , v ... interface {}) {
71- Log . Trace (format , v ... )
81+ defaultLogger . Tracef (format , v ... )
7282}
7383
7484// Logger
@@ -120,21 +130,21 @@ func (pl *PrefixLogger) ClearLogPrefix() {
120130}
121131
122132func (pl * PrefixLogger ) Error (format string , v ... interface {}) {
123- Log . Error (pl .prefix + format , v ... )
133+ defaultLogger . Errorf (pl .prefix + format , v ... )
124134}
125135
126136func (pl * PrefixLogger ) Warn (format string , v ... interface {}) {
127- Log . Warn (pl .prefix + format , v ... )
137+ defaultLogger . Warnf (pl .prefix + format , v ... )
128138}
129139
130140func (pl * PrefixLogger ) Info (format string , v ... interface {}) {
131- Log . Info (pl .prefix + format , v ... )
141+ defaultLogger . Infof (pl .prefix + format , v ... )
132142}
133143
134144func (pl * PrefixLogger ) Debug (format string , v ... interface {}) {
135- Log . Debug (pl .prefix + format , v ... )
145+ defaultLogger . Debugf (pl .prefix + format , v ... )
136146}
137147
138148func (pl * PrefixLogger ) Trace (format string , v ... interface {}) {
139- Log . Trace (pl .prefix + format , v ... )
149+ defaultLogger . Tracef (pl .prefix + format , v ... )
140150}
0 commit comments