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

This commit is contained in:
David Rogers
2026-08-17 10:39:46 +08:00
committed by GitHub
parent fa3eb17cd4
commit adfb6d993e
2 changed files with 35 additions and 1 deletions
+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) })
}