@@ -9,56 +9,53 @@ import (
99 "time"
1010)
1111
12- func LogSegment (l * logrus.Logger , logDir , name string ) (* logrus. Logger , error ) {
12+ func NewLfsHook (l * logrus.Logger , logDir , name string ) (* lfshook. LfsHook , error ) {
1313 var (
1414 err error
1515 infoWriter io.Writer
1616 warnWriter io.Writer
1717 errorWriter io.Writer
1818 )
1919
20- if l .GetLevel () >= logrus .DebugLevel {
21- infoPath := fmt .Sprintf ("%s/%s.%s" , logDir , name , "INFO.%Y%m%d.log" )
22- linkInfoPath := fmt .Sprintf ("%s/%s.%s" , logDir , name , "INFO.log" )
23- infoWriter , err = rotatelogs .New (
24- infoPath ,
25- rotatelogs .WithLinkName (linkInfoPath ),
26- rotatelogs .WithMaxAge (time .Duration (86400 )* time .Second ),
27- rotatelogs .WithRotationTime (time .Duration (604800 )* time .Second ),
28- )
29- if err != nil {
30- return nil , err
31- }
20+ infoPath := fmt .Sprintf ("%s/%s.%s" , logDir , name , "INFO.%Y%m%d.log" )
21+ linkInfoPath := fmt .Sprintf ("%s/%s.%s" , logDir , name , "INFO.log" )
22+ infoWriter , err = rotatelogs .New (
23+ infoPath ,
24+ rotatelogs .WithLinkName (linkInfoPath ),
25+ rotatelogs .WithMaxAge (time .Duration (86400 )* time .Second ),
26+ rotatelogs .WithRotationTime (time .Duration (604800 )* time .Second ),
27+ )
28+ if err != nil {
29+ return nil , err
3230 }
33- if l .GetLevel () >= logrus .WarnLevel {
34- warnPath := fmt .Sprintf ("%s/%s.%s" , logDir , name , "WARN.%Y%m%d.log" )
35- linkWarnPath := fmt .Sprintf ("%s/%s.%s" , logDir , name , "WARN.log" )
36- warnWriter , err = rotatelogs .New (
37- warnPath ,
38- rotatelogs .WithLinkName (linkWarnPath ),
39- rotatelogs .WithMaxAge (time .Duration (86400 )* time .Second ),
40- rotatelogs .WithRotationTime (time .Duration (604800 )* time .Second ),
41- )
42- if err != nil {
43- return nil , err
44- }
31+
32+ warnPath := fmt .Sprintf ("%s/%s.%s" , logDir , name , "WARN.%Y%m%d.log" )
33+ linkWarnPath := fmt .Sprintf ("%s/%s.%s" , logDir , name , "WARN.log" )
34+ warnWriter , err = rotatelogs .New (
35+ warnPath ,
36+ rotatelogs .WithLinkName (linkWarnPath ),
37+ rotatelogs .WithMaxAge (time .Duration (86400 )* time .Second ),
38+ rotatelogs .WithRotationTime (time .Duration (604800 )* time .Second ),
39+ )
40+ if err != nil {
41+ return nil , err
4542 }
46- if l .GetLevel () >= logrus .ErrorLevel {
47- errorPath := fmt .Sprintf ("%s/%s.%s" , logDir , name , "ERROR.%Y%m%d.log" )
48- linkErrorPath := fmt .Sprintf ("%s/%s.%s" , logDir , name , "ERROR.log" )
49- errorWriter , err = rotatelogs .New (
50- errorPath ,
51- rotatelogs .WithLinkName (linkErrorPath ),
52- rotatelogs .WithMaxAge (time .Duration (86400 )* time .Second ),
53- rotatelogs .WithRotationTime (time .Duration (604800 )* time .Second ),
54- )
55- if err != nil {
56- return nil , err
57- }
43+
44+ errorPath := fmt .Sprintf ("%s/%s.%s" , logDir , name , "ERROR.%Y%m%d.log" )
45+ linkErrorPath := fmt .Sprintf ("%s/%s.%s" , logDir , name , "ERROR.log" )
46+ errorWriter , err = rotatelogs .New (
47+ errorPath ,
48+ rotatelogs .WithLinkName (linkErrorPath ),
49+ rotatelogs .WithMaxAge (time .Duration (86400 )* time .Second ),
50+ rotatelogs .WithRotationTime (time .Duration (604800 )* time .Second ),
51+ )
52+ if err != nil {
53+ return nil , err
5854 }
5955
6056 writerMap := lfshook.WriterMap {}
6157 if infoWriter != nil {
58+ writerMap [logrus .TraceLevel ] = infoWriter
6259 writerMap [logrus .DebugLevel ] = infoWriter
6360 writerMap [logrus .InfoLevel ] = infoWriter
6461 }
@@ -67,8 +64,9 @@ func LogSegment(l *logrus.Logger, logDir, name string) (*logrus.Logger, error) {
6764 }
6865 if errorWriter != nil {
6966 writerMap [logrus .ErrorLevel ] = errorWriter
67+ writerMap [logrus .FatalLevel ] = errorWriter
68+ writerMap [logrus .PanicLevel ] = errorWriter
7069 }
7170
72- l .Hooks .Add (lfshook .NewHook (writerMap , & logrus.JSONFormatter {}))
73- return l , nil
71+ return lfshook .NewHook (writerMap , & logrus.JSONFormatter {}), nil
7472}
0 commit comments