| 356 | } |
| 357 | |
| 358 | func TestLogger_SetLevel(t *testing.T) { |
| 359 | var buf bytes.Buffer |
| 360 | config := &Config{ |
| 361 | Level: LevelInfo, |
| 362 | Output: &buf, |
| 363 | } |
| 364 | |
| 365 | logger, err := NewLogger(config) |
| 366 | require.NoError(t, err) |
| 367 | defer logger.Close() |
| 368 | |
| 369 | // Initially at Info level, debug should be filtered |
| 370 | logger.Debug("debug message 1") |
| 371 | assert.Empty(t, buf.String()) |
| 372 | |
| 373 | // Change to Debug level |
| 374 | logger.SetLevel(LevelDebug) |
| 375 | assert.Equal(t, LevelDebug, logger.GetLevel()) |
| 376 | |
| 377 | // Now debug should be logged |
| 378 | logger.Debug("debug message 2") |
| 379 | |
| 380 | output := buf.String() |
| 381 | assert.Contains(t, output, "[DEBUG]") |
| 382 | assert.Contains(t, output, "debug message 2") |
| 383 | } |
| 384 | |
| 385 | func TestLogger_GetLevel(t *testing.T) { |
| 386 | logger := NewSimpleLogger(LevelError) |