github.com/xwi88/log4go@v0.0.6/console_writer_test.go (about) 1 package log4go 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("log4go by %s", name) 54 loggerDefaultTest.Info("log4go by %s", name) 55 loggerDefaultTest.Alert("%#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(INFO) 71 WithFullPath(true) 72 WithFuncName(true) 73 c := generateNewConsoleWriterWithOptions(LevelFlagInfo, color, fullColor) 74 Register(c) 75 76 var name = "console with default global" 77 Debug("log4go by %s", name) 78 Info("log4go by %s", name) 79 Info("") 80 Notice("log4go by %s", name) 81 Warn("log4go by %s", name) 82 Error("log4go by %s", name) 83 Critical("log4go by %s", name) 84 Alert("log4go by %s", name) 85 Emergency("log4go by %s", name) 86 } 87 88 func Test_NewConsoleWriterWithLevel(t *testing.T) { 89 var color, fullColor, fullPath, funcName bool 90 var layout string 91 92 records := make(chan *Record, uint(2048)) 93 loggerDefaultTest := newLoggerWithRecords(records) 94 loggerDefaultTest.SetLevel(DEBUG) 95 defer loggerDefaultTest.Close() 96 97 c := generateNewConsoleWriterWithOptions(LevelFlagInfo, color, fullColor) 98 var name = "console level" 99 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 100 loggerDefaultTest.Debug("log4go by %s", name) 101 loggerDefaultTest.Info("log4go by %s", name) 102 loggerDefaultTest.Info("") 103 loggerDefaultTest.Notice("log4go by %s", name) 104 loggerDefaultTest.Warn("log4go by %s", name) 105 loggerDefaultTest.Error("log4go by %s", name) 106 loggerDefaultTest.Critical("log4go by %s", name) 107 loggerDefaultTest.Alert("log4go by %s", name) 108 loggerDefaultTest.Emergency("log4go by %s", name) 109 loggerDefaultTest.Alert("%#v", loggerDefaultTest) 110 } 111 112 func Test_NewConsoleWriterWithLevel2(t *testing.T) { 113 var color, fullColor, fullPath, funcName bool 114 var layout string 115 116 records := make(chan *Record, uint(2048)) 117 loggerDefaultTest := newLoggerWithRecords(records) 118 loggerDefaultTest.SetLevel(NOTICE) 119 defer loggerDefaultTest.Close() 120 121 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 122 var name = "console level2" 123 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 124 loggerDefaultTest.Debug("log4go by %s", name) 125 loggerDefaultTest.Info("log4go by %s", name) 126 loggerDefaultTest.Notice("log4go by %s", name) 127 loggerDefaultTest.Notice("log4go by fmt ", 123, " super ", name) 128 loggerDefaultTest.Warn("log4go by %s", name) 129 loggerDefaultTest.Error("log4go by %s", name) 130 loggerDefaultTest.Critical("log4go by %s", name) 131 loggerDefaultTest.Alert("log4go by %s", name) 132 loggerDefaultTest.Emergency("log4go by %s", name) 133 loggerDefaultTest.Alert("%#v", loggerDefaultTest) 134 } 135 136 func Test_NewConsoleWriterWithColor(t *testing.T) { 137 var color, fullColor, fullPath, funcName bool 138 var layout string 139 140 records := make(chan *Record, uint(2048)) 141 loggerDefaultTest := newLoggerWithRecords(records) 142 defer loggerDefaultTest.Close() 143 144 color = true 145 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 146 var name = "console color" 147 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 148 loggerDefaultTest.Debug("log4go by %s", name) 149 loggerDefaultTest.Info("log4go by %s", name) 150 loggerDefaultTest.Notice("log4go by %s", name) 151 loggerDefaultTest.Warn("log4go by %s", name) 152 loggerDefaultTest.Error("log4go by %s", name) 153 loggerDefaultTest.Critical("log4go by %s", name) 154 loggerDefaultTest.Alert("log4go by %s", name) 155 loggerDefaultTest.Emergency("log4go by %s", name) 156 loggerDefaultTest.Alert("%#v", loggerDefaultTest) 157 } 158 159 func Test_NewConsoleWriterWithFullColor(t *testing.T) { 160 var color, fullColor, fullPath, funcName bool 161 var layout string 162 163 records := make(chan *Record, uint(2048)) 164 loggerDefaultTest := newLoggerWithRecords(records) 165 defer loggerDefaultTest.Close() 166 167 color = true 168 fullColor = true 169 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 170 // c := generateNewConsoleWriterWithOptions(LevelFlagEmergency, color, fullColor) 171 var name = "console full color" 172 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 173 loggerDefaultTest.Debug("log4go by %s", name) 174 loggerDefaultTest.Info("log4go by %s", name) 175 loggerDefaultTest.Notice("log4go by %s", name) 176 loggerDefaultTest.Warn("log4go by %s", name) 177 loggerDefaultTest.Error("log4go by %s", name) 178 loggerDefaultTest.Critical("log4go by %s", name) 179 loggerDefaultTest.Alert("log4go by %s", name) 180 loggerDefaultTest.Emergency("log4go by %s", name) 181 loggerDefaultTest.Alert("%#v", loggerDefaultTest) 182 } 183 184 func Test_NewConsoleWriterWithFullPath(t *testing.T) { 185 var color, fullColor, fullPath, funcName bool 186 var layout string 187 188 records := make(chan *Record, uint(2048)) 189 loggerDefaultTest := newLoggerWithRecords(records) 190 defer loggerDefaultTest.Close() 191 192 color = true 193 fullPath = true 194 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 195 var name = "console full path" 196 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 197 loggerDefaultTest.Debug("log4go by %s", name) 198 loggerDefaultTest.Info("log4go by %s", name) 199 loggerDefaultTest.Notice("log4go by %s", name) 200 loggerDefaultTest.Warn("log4go by %s", name) 201 loggerDefaultTest.Error("log4go by %s", name) 202 loggerDefaultTest.Critical("log4go by %s", name) 203 loggerDefaultTest.Alert("log4go by %s", name) 204 loggerDefaultTest.Emergency("log4go by %s", name) 205 loggerDefaultTest.Alert("%#v", loggerDefaultTest) 206 } 207 208 func Test_NewConsoleWriterWithFuncName(t *testing.T) { 209 var color, fullColor, fullPath, funcName bool 210 var layout string 211 212 records := make(chan *Record, uint(2048)) 213 loggerDefaultTest := newLoggerWithRecords(records) 214 defer loggerDefaultTest.Close() 215 216 color = true 217 funcName = true 218 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 219 var name = "console func name" 220 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 221 loggerDefaultTest.Debug("log4go by %s", name) 222 loggerDefaultTest.Info("log4go by %s", name) 223 loggerDefaultTest.Notice("log4go by %s", name) 224 loggerDefaultTest.Warn("log4go by %s", name) 225 loggerDefaultTest.Error("log4go by %s", name) 226 loggerDefaultTest.Critical("log4go by %s", name) 227 loggerDefaultTest.Alert("log4go by %s", name) 228 loggerDefaultTest.Emergency("log4go by %s", name) 229 loggerDefaultTest.Alert("%#v", loggerDefaultTest) 230 } 231 232 func Test_NewConsoleWriterWithLayout(t *testing.T) { 233 var color, fullColor, fullPath, funcName bool 234 var layout string 235 236 records := make(chan *Record, uint(2048)) 237 loggerDefaultTest := newLoggerWithRecords(records) 238 defer loggerDefaultTest.Close() 239 240 color = true 241 layout = "20060102T150405.000-0700" 242 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 243 var name = "console layout" 244 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 245 loggerDefaultTest.Debug("log4go by %s", name) 246 loggerDefaultTest.Info("log4go by %s", name) 247 loggerDefaultTest.Notice("log4go by %s", name) 248 loggerDefaultTest.Warn("log4go by %s", name) 249 loggerDefaultTest.Error("log4go by %s", name) 250 loggerDefaultTest.Critical("log4go by %s", name) 251 loggerDefaultTest.Alert("log4go by %s", name) 252 loggerDefaultTest.Emergency("log4go by %s", name) 253 loggerDefaultTest.Alert("%#v", loggerDefaultTest) 254 } 255 256 func Benchmark_NewConsoleWriter(b *testing.B) { 257 var color, fullColor, fullPath, funcName bool 258 var layout string 259 260 records := make(chan *Record, uint(2048)) 261 loggerDefaultTest := newLoggerWithRecords(records) 262 loggerDefaultTest.SetLevel(DEBUG) 263 defer loggerDefaultTest.Close() 264 265 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 266 var name = "console benchmark test" 267 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 268 loggerDefaultTest.Debug("log4go by %s", name) 269 loggerDefaultTest.Info("log4go by %s", name) 270 loggerDefaultTest.Notice("log4go by %s", name) 271 loggerDefaultTest.Warn("log4go by %s", name) 272 loggerDefaultTest.Error("log4go by %s", name) 273 loggerDefaultTest.Critical("log4go by %s", name) 274 loggerDefaultTest.Alert("log4go by %s", name) 275 loggerDefaultTest.Emergency("log4go by %s", name) 276 loggerDefaultTest.Alert("%#v", loggerDefaultTest) 277 } 278 279 func Benchmark_NewConsoleWriterAll(b *testing.B) { 280 var color, fullColor, fullPath, funcName bool 281 var layout string 282 283 records := make(chan *Record, uint(2048)) 284 loggerDefaultTest := newLoggerWithRecords(records) 285 loggerDefaultTest.SetLevel(DEBUG) 286 defer loggerDefaultTest.Close() 287 color = true 288 fullColor = true 289 fullPath = true 290 funcName = true 291 layout = "2006-01-02 15:04:05" 292 293 c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor) 294 var name = "console benchmark test" 295 generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout) 296 loggerDefaultTest.Debug("log4go by %s", name) 297 loggerDefaultTest.Info("log4go by %s", name) 298 loggerDefaultTest.Notice("log4go by %s", name) 299 loggerDefaultTest.Warn("log4go by %s", name) 300 loggerDefaultTest.Error("log4go by %s", name) 301 loggerDefaultTest.Critical("log4go by %s", name) 302 loggerDefaultTest.Alert("log4go by %s", name) 303 loggerDefaultTest.Emergency("log4go by %s", name) 304 loggerDefaultTest.Alert("%#v", loggerDefaultTest) 305 }