github.com/amitbet/vnc2video@v0.0.0-20190616012314-9d50b9dab1d9/logger/logger.go (about) 1 package logger 2 3 import "fmt" 4 5 var simpleLogger = SimpleLogger{LogLevelWarn} 6 7 type Logger interface { 8 Trace(v ...interface{}) 9 Tracef(format string, v ...interface{}) 10 Debug(v ...interface{}) 11 Debugf(format string, v ...interface{}) 12 Info(v ...interface{}) 13 Infof(format string, v ...interface{}) 14 DebugfNoCR(format string, v ...interface{}) 15 Warn(v ...interface{}) 16 Warnf(format string, v ...interface{}) 17 Error(v ...interface{}) 18 Errorf(format string, v ...interface{}) 19 Fatal(v ...interface{}) 20 Fatalf(format string, v ...interface{}) 21 } 22 type LogLevel int 23 24 const ( 25 LogLevelTrace LogLevel = iota 26 LogLevelDebug 27 LogLevelInfo 28 LogLevelWarn 29 LogLevelError 30 LogLevelFatal 31 ) 32 33 type SimpleLogger struct { 34 level LogLevel 35 } 36 37 func (sl *SimpleLogger) Trace(v ...interface{}) { 38 if sl.level <= LogLevelTrace { 39 arr := []interface{}{"[Trace]"} 40 for _, item := range v { 41 arr = append(arr, item) 42 } 43 44 fmt.Println(arr...) 45 } 46 } 47 func (sl *SimpleLogger) Tracef(format string, v ...interface{}) { 48 if sl.level <= LogLevelTrace { 49 fmt.Printf("[Trace] "+format+"\n", v...) 50 } 51 } 52 53 func (sl *SimpleLogger) Debug(v ...interface{}) { 54 if sl.level <= LogLevelDebug { 55 arr := []interface{}{"[Debug]"} 56 for _, item := range v { 57 arr = append(arr, item) 58 } 59 60 fmt.Println(arr...) 61 } 62 } 63 func (sl *SimpleLogger) Debugf(format string, v ...interface{}) { 64 if sl.level <= LogLevelDebug { 65 fmt.Printf("[Debug] "+format+"\n", v...) 66 } 67 } 68 func (sl *SimpleLogger) Info(v ...interface{}) { 69 if sl.level <= LogLevelInfo { 70 arr := []interface{}{"[Info ]"} 71 for _, item := range v { 72 arr = append(arr, item) 73 } 74 fmt.Println(arr...) 75 } 76 } 77 func (sl *SimpleLogger) DebugfNoCR(format string, v ...interface{}) { 78 if sl.level <= LogLevelDebug { 79 fmt.Printf("[Info ] "+format, v...) 80 } 81 } 82 83 func (sl *SimpleLogger) Infof(format string, v ...interface{}) { 84 if sl.level <= LogLevelInfo { 85 fmt.Printf("[Info ] "+format+"\n", v...) 86 } 87 } 88 func (sl *SimpleLogger) Warn(v ...interface{}) { 89 if sl.level <= LogLevelWarn { 90 arr := []interface{}{"[Warn ]"} 91 for _, item := range v { 92 arr = append(arr, item) 93 } 94 fmt.Println(arr...) 95 } 96 } 97 func (sl *SimpleLogger) Warnf(format string, v ...interface{}) { 98 if sl.level <= LogLevelWarn { 99 fmt.Printf("[Warn ] "+format+"\n", v...) 100 } 101 } 102 func (sl *SimpleLogger) Error(v ...interface{}) { 103 if sl.level <= LogLevelError { 104 arr := []interface{}{"[Error]"} 105 for _, item := range v { 106 arr = append(arr, item) 107 } 108 fmt.Println(arr...) 109 } 110 } 111 func (sl *SimpleLogger) Errorf(format string, v ...interface{}) { 112 if sl.level <= LogLevelError { 113 fmt.Printf("[Error] "+format+"\n", v...) 114 } 115 } 116 func (sl *SimpleLogger) Fatal(v ...interface{}) { 117 if sl.level <= LogLevelFatal { 118 arr := []interface{}{"[Fatal]"} 119 for _, item := range v { 120 arr = append(arr, item) 121 } 122 fmt.Println(arr...) 123 124 } 125 } 126 func (sl *SimpleLogger) Fatalf(format string, v ...interface{}) { 127 if sl.level <= LogLevelFatal { 128 fmt.Printf("[Fatal] "+format+"\n", v) 129 } 130 } 131 func Trace(v ...interface{}) { 132 simpleLogger.Trace(v...) 133 } 134 func Tracef(format string, v ...interface{}) { 135 simpleLogger.Tracef(format, v...) 136 } 137 138 func Debug(v ...interface{}) { 139 simpleLogger.Debug(v...) 140 } 141 func Debugf(format string, v ...interface{}) { 142 simpleLogger.Tracef(format, v...) 143 } 144 145 func Info(v ...interface{}) { 146 simpleLogger.Info(v...) 147 } 148 func Infof(format string, v ...interface{}) { 149 simpleLogger.Infof(format, v...) 150 } 151 func DebugfNoCR(format string, v ...interface{}) { 152 simpleLogger.DebugfNoCR(format, v...) 153 } 154 func Warn(v ...interface{}) { 155 simpleLogger.Warn(v...) 156 } 157 func Warnf(format string, v ...interface{}) { 158 simpleLogger.Warnf(format, v...) 159 } 160 161 func Error(v ...interface{}) { 162 simpleLogger.Error(v...) 163 } 164 func Errorf(format string, v ...interface{}) { 165 simpleLogger.Errorf(format, v...) 166 } 167 168 func Fatal(v ...interface{}) { 169 simpleLogger.Fatal(v...) 170 } 171 func Fatalf(format string, v ...interface{}) { 172 simpleLogger.Fatalf(format, v...) 173 }