feat(log): add SetLevel to control default logger verbosity (#632)

This commit is contained in:
David Rogers authored and GitHub committed 2026-08-17 10:39:46 +08:00
1 parent fa3eb17cd4
commit adfb6d993e
2 files changed
+35 -1

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
package log
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestSetLevel(t *testing.T) {
t.Cleanup(func() { SetLevel(InfoLevel) }) // restore package default
SetLevel(FatalLevel)
assert.False(t, defaultLogger.canLogAt(InfoLevel), "Info must be suppressed at FatalLevel")
assert.False(t, defaultLogger.canLogAt(WarnLevel), "Warn must be suppressed at FatalLevel")
assert.False(t, defaultLogger.canLogAt(ErrorLevel), "Error must be suppressed at FatalLevel")
assert.True(t, defaultLogger.canLogAt(FatalLevel), "Fatal must still log at FatalLevel")
SetVerbose()
assert.True(t, defaultLogger.canLogAt(DebugLevel), "SetVerbose must enable Debug")
}
func TestSetLevelInvalidPanics(t *testing.T) {
t.Cleanup(func() { SetLevel(InfoLevel) })
assert.Panics(t, func() { SetLevel(FatalLevel + 1) })
}