github.com/legofun/go-log@v0.0.0-20220819080256-3f9d776ff7cf/console_writer_test.go (about) 1 package golog 2 3 import ( 4 "testing" 5 ) 6 7 func generateNewConsoleWriterWithOptions(level string, color, fullColor bool) *ConsoleWriter { 8 options := ConsoleWriterOptions{ 9 Level: level, 10 Color: color, 11 FullColor: fullColor, 12 } 13 w := NewConsoleWriterWithOptions(options) 14 w.SetColor(color) 15 w.SetFullColor(fullColor) 16 return w 17 } 18 19 func generateRegisterConsoleWriter(lg *Logger, w *ConsoleWriter, fullPath, funcName bool, layout string) { 20 lg.Register(w) 21 if layout == "" { 22 lg.SetLayout("2006-01-02 15:04:05") 23 } else { 24 lg.SetLayout(layout) 25 } 26 lg.WithFullPath(fullPath) 27 lg.WithFuncName(funcName) 28 } 29 30 func Test_NewConsoleWriterWithStruct(t *testing.T) { 31 c := &ConsoleWriter{} 32 t.Logf("%#v", c) 33 } 34 35 func Test_NewConsoleWriter(t *testing.T) { 36 NewConsoleWriter() 37 } 38 39 func Test_NewConsoleWriterWithNilLogger(t *testing.T) { 40 var color, fullColor, fullPath, funcName bool 41 var layout string 42 records := make(chan *Record, uint(0)) 43 close(records) 44 loggerDefaultTest := newLoggerWithRecords(records) 45 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 46 var name = "console nil logger" 47 defer func() { 48 if err := recover(); err != nil { 49 t.Errorf("error occur: %v", err) 50 loggerDefaultTest = newLoggerWithRecords(records) 51 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 52 defer loggerDefaultTest.Close() 53 loggerDefaultTest.Debug("go-log by %s", name) 54 loggerDefaultTest.Common("go-log by %s", name) 55 loggerDefaultTest.Error("%#v", loggerDefaultTest) 56 } 57 }() 58 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 59 60 } 61 62 func Test_NewConsoleWriterWithGlobalSet(t *testing.T) { 63 var color, fullColor bool 64 var layout string 65 loggerDefault = NewLogger() 66 67 defer Close() 68 layout = "20060102 150405" 69 SetLayout(layout) 70 SetLevel(COMMON) 71 WithFullPath(true) 72 WithFuncName(true) 73 c := generateNewConsoleWriterWithOptions(LevelFlagCommon, color, fullColor) 74 Register(c) 75 76 var name = "console with default global" 77 Debug("go-log by %s", name) 78 Common("go-log by %s", name) 79 Abnormal("go-log by %s", name) 80 Transaction("go-log by %s", name) 81 Error("go-log by %s", name) 82 Access("go-log by %s", name) 83 } 84 85 func Test_NewConsoleWriterWithLevel(t *testing.T) { 86 var color, fullColor, fullPath, funcName bool 87 var layout string 88 89 records := make(chan *Record, uint(2048)) 90 loggerDefaultTest := newLoggerWithRecords(records) 91 loggerDefaultTest.SetLevel(DEBUG) 92 defer loggerDefaultTest.Close() 93 94 c := generateNewConsoleWriterWithOptions(LevelFlagCommon, color, fullColor) 95 var name = "console level" 96 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 97 loggerDefaultTest.Debug("go-log by %s", name) 98 loggerDefaultTest.Common("go-log by %s", name) 99 loggerDefaultTest.Abnormal("go-log by %s", name) 100 loggerDefaultTest.Transaction("go-log by %s", name) 101 loggerDefaultTest.Error("go-log by %s", name) 102 loggerDefaultTest.Access("go-log by %s", name) 103 loggerDefaultTest.Access("%#v", loggerDefaultTest) 104 } 105 106 func Test_NewConsoleWriterWithLevel2(t *testing.T) { 107 var color, fullColor, fullPath, funcName bool 108 var layout string 109 110 records := make(chan *Record, uint(2048)) 111 loggerDefaultTest := newLoggerWithRecords(records) 112 loggerDefaultTest.SetLevel(ABNORMAL) 113 defer loggerDefaultTest.Close() 114 115 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 116 var name = "console level2" 117 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 118 loggerDefaultTest.Debug("go-log by %s", name) 119 loggerDefaultTest.Common("go-log by %s", name) 120 loggerDefaultTest.Abnormal("go-log by %s", name) 121 loggerDefaultTest.Abnormal("go-log by fmt ", 123, " super ", name) 122 loggerDefaultTest.Transaction("go-log by %s", name) 123 loggerDefaultTest.Error("go-log by %s", name) 124 loggerDefaultTest.Access("go-log by %s", name) 125 loggerDefaultTest.Access("%#v", loggerDefaultTest) 126 } 127 128 func Test_NewConsoleWriterWithColor(t *testing.T) { 129 var color, fullColor, fullPath, funcName bool 130 var layout string 131 132 records := make(chan *Record, uint(2048)) 133 loggerDefaultTest := newLoggerWithRecords(records) 134 defer loggerDefaultTest.Close() 135 136 color = true 137 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 138 var name = "console color" 139 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 140 loggerDefaultTest.Debug("go-log by %s", name) 141 loggerDefaultTest.Common("go-log by %s", name) 142 loggerDefaultTest.Abnormal("go-log by %s", name) 143 loggerDefaultTest.Transaction("go-log by %s", name) 144 loggerDefaultTest.Error("go-log by %s", name) 145 loggerDefaultTest.Access("go-log by %s", name) 146 loggerDefaultTest.Access("%#v", loggerDefaultTest) 147 } 148 149 func Test_NewConsoleWriterWithFullColor(t *testing.T) { 150 var color, fullColor, fullPath, funcName bool 151 var layout string 152 153 records := make(chan *Record, uint(2048)) 154 loggerDefaultTest := newLoggerWithRecords(records) 155 defer loggerDefaultTest.Close() 156 157 color = true 158 fullColor = true 159 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 160 // c := generateNewConsoleWriterWithOptions(LevelFlagEmergency, color, fullColor) 161 var name = "console full color" 162 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 163 loggerDefaultTest.Debug("go-log by %s", name) 164 loggerDefaultTest.Common("go-log by %s", name) 165 loggerDefaultTest.Abnormal("go-log by %s", name) 166 loggerDefaultTest.Transaction("go-log by %s", name) 167 loggerDefaultTest.Error("go-log by %s", name) 168 loggerDefaultTest.Access("go-log by %s", name) 169 loggerDefaultTest.Access("%#v", loggerDefaultTest) 170 } 171 172 func Test_NewConsoleWriterWithFullPath(t *testing.T) { 173 var color, fullColor, fullPath, funcName bool 174 var layout string 175 176 records := make(chan *Record, uint(2048)) 177 loggerDefaultTest := newLoggerWithRecords(records) 178 defer loggerDefaultTest.Close() 179 180 color = true 181 fullPath = true 182 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 183 var name = "console full path" 184 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 185 loggerDefaultTest.Debug("go-log by %s", name) 186 loggerDefaultTest.Common("go-log by %s", name) 187 loggerDefaultTest.Abnormal("go-log by %s", name) 188 loggerDefaultTest.Transaction("go-log by %s", name) 189 loggerDefaultTest.Error("go-log by %s", name) 190 loggerDefaultTest.Access("go-log by %s", name) 191 loggerDefaultTest.Access("%#v", loggerDefaultTest) 192 } 193 194 func Test_NewConsoleWriterWithFuncName(t *testing.T) { 195 var color, fullColor, fullPath, funcName bool 196 var layout string 197 198 records := make(chan *Record, uint(2048)) 199 loggerDefaultTest := newLoggerWithRecords(records) 200 defer loggerDefaultTest.Close() 201 202 color = true 203 funcName = true 204 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 205 var name = "console func name" 206 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 207 loggerDefaultTest.Debug("go-log by %s", name) 208 loggerDefaultTest.Common("go-log by %s", name) 209 loggerDefaultTest.Abnormal("go-log by %s", name) 210 loggerDefaultTest.Transaction("go-log by %s", name) 211 loggerDefaultTest.Error("go-log by %s", name) 212 loggerDefaultTest.Access("go-log by %s", name) 213 loggerDefaultTest.Access("%#v", loggerDefaultTest) 214 } 215 216 func Test_NewConsoleWriterWithLayout(t *testing.T) { 217 var color, fullColor, fullPath, funcName bool 218 var layout string 219 220 records := make(chan *Record, uint(2048)) 221 loggerDefaultTest := newLoggerWithRecords(records) 222 defer loggerDefaultTest.Close() 223 224 color = true 225 layout = "20060102T150405.000-0700" 226 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 227 var name = "console layout" 228 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 229 loggerDefaultTest.Debug("go-log by %s", name) 230 loggerDefaultTest.Common("go-log by %s", name) 231 loggerDefaultTest.Abnormal("go-log by %s", name) 232 loggerDefaultTest.Transaction("go-log by %s", name) 233 loggerDefaultTest.Error("go-log by %s", name) 234 loggerDefaultTest.Access("go-log by %s", name) 235 loggerDefaultTest.Access("%#v", loggerDefaultTest) 236 } 237 238 func Benchmark_NewConsoleWriter(b *testing.B) { 239 var color, fullColor, fullPath, funcName bool 240 var layout string 241 242 records := make(chan *Record, uint(2048)) 243 loggerDefaultTest := newLoggerWithRecords(records) 244 loggerDefaultTest.SetLevel(DEBUG) 245 defer loggerDefaultTest.Close() 246 247 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 248 var name = "console benchmark test" 249 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 250 loggerDefaultTest.Debug("go-log by %s", name) 251 loggerDefaultTest.Common("go-log by %s", name) 252 loggerDefaultTest.Abnormal("go-log by %s", name) 253 loggerDefaultTest.Transaction("go-log by %s", name) 254 loggerDefaultTest.Error("go-log by %s", name) 255 loggerDefaultTest.Access("go-log by %s", name) 256 loggerDefaultTest.Access("%#v", loggerDefaultTest) 257 } 258 259 func Benchmark_NewConsoleWriterAll(b *testing.B) { 260 var color, fullColor, fullPath, funcName bool 261 var layout string 262 263 records := make(chan *Record, uint(2048)) 264 loggerDefaultTest := newLoggerWithRecords(records) 265 loggerDefaultTest.SetLevel(DEBUG) 266 defer loggerDefaultTest.Close() 267 color = true 268 fullColor = true 269 fullPath = true 270 funcName = true 271 layout = "2006-01-02 15:04:05" 272 273 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 274 var name = "console benchmark test" 275 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 276 loggerDefaultTest.Debug("go-log by %s", name) 277 loggerDefaultTest.Common("go-log by %s", name) 278 loggerDefaultTest.Abnormal("go-log by %s", name) 279 loggerDefaultTest.Transaction("go-log by %s", name) 280 loggerDefaultTest.Error("go-log by %s", name) 281 loggerDefaultTest.Access("go-log by %s", name) 282 loggerDefaultTest.Access("%#v", loggerDefaultTest) 283 }