| 326 | } |
| 327 | |
| 328 | func TestSugarConcatenatingLogging(t *testing.T) { |
| 329 | tests := []struct { |
| 330 | args []interface{} |
| 331 | expect string |
| 332 | }{ |
| 333 | {[]interface{}{nil}, "<nil>"}, |
| 334 | } |
| 335 | |
| 336 | // Common to all test cases. |
| 337 | context := []interface{}{"foo", "bar"} |
| 338 | expectedFields := []Field{String("foo", "bar")} |
| 339 | |
| 340 | for _, tt := range tests { |
| 341 | withSugar(t, DebugLevel, nil, func(logger *SugaredLogger, logs *observer.ObservedLogs) { |
| 342 | logger.With(context...).Debug(tt.args...) |
| 343 | logger.With(context...).Info(tt.args...) |
| 344 | logger.With(context...).Warn(tt.args...) |
| 345 | logger.With(context...).Error(tt.args...) |
| 346 | logger.With(context...).DPanic(tt.args...) |
| 347 | logger.With(context...).Log(InfoLevel, tt.args...) |
| 348 | |
| 349 | expected := make([]observer.LoggedEntry, 6) |
| 350 | for i, lvl := range []zapcore.Level{DebugLevel, InfoLevel, WarnLevel, ErrorLevel, DPanicLevel, InfoLevel} { |
| 351 | expected[i] = observer.LoggedEntry{ |
| 352 | Entry: zapcore.Entry{Message: tt.expect, Level: lvl}, |
| 353 | Context: expectedFields, |
| 354 | } |
| 355 | } |
| 356 | assert.Equal(t, expected, logs.AllUntimed(), "Unexpected log output.") |
| 357 | }) |
| 358 | } |
| 359 | } |
| 360 | |
| 361 | func TestSugarTemplatedLogging(t *testing.T) { |
| 362 | tests := []struct { |