gitee.com/zhongguo168a/gocodes@v0.0.0-20230609140523-e1828349603f/myx/logx/fmtlog/fmt-logger.go (about) 1 package fmtlog 2 3 import ( 4 "fmt" 5 "gitee.com/zhongguo168a/gocodes/myx/logx/iface" 6 "os" 7 ) 8 9 func NewLogger() (obj *Logger) { 10 obj = &Logger{ 11 Level: InfoLevel, 12 } 13 return 14 } 15 16 type Logger struct { 17 Name string 18 19 Data map[string]interface{} 20 21 Level Level 22 } 23 24 func (l *Logger) printData() { 25 if l.Data != nil { 26 fmt.Printf(", %+v\n", l.Data) 27 } else { 28 fmt.Printf("\n") 29 } 30 31 } 32 33 func (l *Logger) Ok(a ...interface{}) { 34 if l.Level < InfoLevel { 35 return 36 } 37 38 fmt.Print("[ok ] ") 39 fmt.Print(a...) 40 l.printData() 41 } 42 43 func (l *Logger) Fail(a ...interface{}) { 44 if l.Level < InfoLevel { 45 return 46 } 47 48 fmt.Print("[fail ] ") 49 fmt.Print(a...) 50 l.printData() 51 } 52 53 func (l *Logger) Msg(a ...interface{}) { 54 if l.Level < InfoLevel { 55 return 56 } 57 58 fmt.Print(a...) 59 l.printData() 60 } 61 62 func (l *Logger) Debug(a ...interface{}) { 63 if l.Level < DebugLevel { 64 return 65 } 66 fmt.Print("[debug] ") 67 fmt.Print(a...) 68 l.printData() 69 } 70 71 func (l *Logger) Info(a ...interface{}) { 72 if l.Level < InfoLevel { 73 return 74 } 75 76 fmt.Print("[info ] ") 77 fmt.Print(a...) 78 l.printData() 79 } 80 81 func (l *Logger) Warn(a ...interface{}) { 82 if l.Level < WarnLevel { 83 return 84 } 85 fmt.Print("[warn ] ") 86 fmt.Print(a...) 87 l.printData() 88 } 89 90 func (l *Logger) Error(a ...interface{}) { 91 if l.Level < ErrorLevel { 92 return 93 } 94 95 fmt.Print("[error] ") 96 fmt.Print(a...) 97 l.printData() 98 } 99 100 func (l *Logger) Fatal(a ...interface{}) { 101 if l.Level < FatalLevel { 102 return 103 } 104 105 fmt.Print("[fatal] ") 106 fmt.Print(a...) 107 l.printData() 108 os.Exit(-1) 109 } 110 111 func (l *Logger) With(m map[string]interface{}) iface.ILogger { 112 return &Logger{ 113 Data: m, 114 } 115 }