v0.1.4 formatter race fix, fiber adapter added, default config changed, docs updated
This commit is contained in:
@ -22,7 +22,7 @@ func createTestLogger(t *testing.T) (*Logger, string) {
|
||||
cfg.EnableConsole = false
|
||||
cfg.EnableFile = true
|
||||
cfg.Directory = tmpDir
|
||||
cfg.BufferSize = 100
|
||||
cfg.BufferSize = 1000
|
||||
cfg.FlushIntervalMs = 10
|
||||
|
||||
err := logger.ApplyConfig(cfg)
|
||||
@ -151,14 +151,30 @@ func TestLoggerLoggingLevels(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// Read log file
|
||||
content, err := os.ReadFile(filepath.Join(tmpDir, "log.log"))
|
||||
require.NoError(t, err)
|
||||
var content []byte
|
||||
var fileContent string
|
||||
// Poll for a short period to wait for all async writes to complete.
|
||||
// This makes the test robust against scheduling variations.
|
||||
success := false
|
||||
for i := 0; i < 20; i++ {
|
||||
content, err = os.ReadFile(filepath.Join(tmpDir, "log.log"))
|
||||
require.NoError(t, err)
|
||||
fileContent = string(content)
|
||||
if strings.Contains(fileContent, "info message") &&
|
||||
strings.Contains(fileContent, "warn message") &&
|
||||
strings.Contains(fileContent, "error message") {
|
||||
success = true
|
||||
break
|
||||
}
|
||||
time.Sleep(10 * time.Millisecond)
|
||||
}
|
||||
require.True(t, success, "timed out waiting for all log messages to be written")
|
||||
|
||||
// Default level is INFO, so debug shouldn't appear
|
||||
assert.NotContains(t, string(content), "debug message")
|
||||
assert.Contains(t, string(content), `INFO "info message"`)
|
||||
assert.Contains(t, string(content), `WARN "warn message"`)
|
||||
assert.Contains(t, string(content), `ERROR "error message"`)
|
||||
assert.Contains(t, string(content), "info message")
|
||||
assert.Contains(t, string(content), "warn message")
|
||||
assert.Contains(t, string(content), "error message")
|
||||
}
|
||||
|
||||
// TestLoggerWithTrace ensures that logging with a stack trace does not cause a panic
|
||||
@ -215,6 +231,7 @@ func TestLoggerFormats(t *testing.T) {
|
||||
cfg := DefaultConfig()
|
||||
cfg.Directory = tmpDir
|
||||
cfg.Format = tt.format
|
||||
cfg.EnableFile = true
|
||||
cfg.ShowTimestamp = false // As in the original test
|
||||
cfg.ShowLevel = true // As in the original test
|
||||
// Set a fast flush interval for test reliability
|
||||
|
||||
Reference in New Issue
Block a user