Some checks failed
Go CI/CD / go-ci (push) Has been cancelled
This test verifies that logs below the ERROR level are properly muted when plaintext logging is enabled without JSON formatting. It ensures that log output adheres to the configured log level settings.
79 lines
1.6 KiB
Go
79 lines
1.6 KiB
Go
package stonelog
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func Test_LogLevelString(t *testing.T) {
|
|
levelTests := []struct {
|
|
level StoneLevel
|
|
expected string
|
|
}{
|
|
{TRACE, "TRACE"},
|
|
{DEBUG, "DEBUG"},
|
|
{INFO, "INFO"},
|
|
{WARN, "WARN"},
|
|
{ERROR, "ERROR"},
|
|
{FATAL, "FATAL"},
|
|
{PANIC, "PANIC"},
|
|
}
|
|
|
|
for _, tt := range levelTests {
|
|
if tt.level.String() != tt.expected {
|
|
t.Errorf("Expected %s, got %s", tt.expected, tt.level.String())
|
|
}
|
|
}
|
|
}
|
|
|
|
func Test_LogLevelColor(t *testing.T) {
|
|
levelTests := []struct {
|
|
level StoneLevel
|
|
expected string
|
|
}{
|
|
{TRACE, colorWhite},
|
|
{DEBUG, colorCyan},
|
|
{INFO, colorGreen},
|
|
{WARN, colorYellow},
|
|
{ERROR, colorRed},
|
|
{FATAL, colorMagenta},
|
|
{PANIC, colorRed + "\033[1m"},
|
|
}
|
|
|
|
for _, tt := range levelTests {
|
|
if tt.level.Color() != tt.expected {
|
|
t.Errorf("Expected %s, got %s", tt.expected, tt.level.Color())
|
|
}
|
|
}
|
|
}
|
|
|
|
func Test_PlainTextLogs(t *testing.T) {
|
|
InitStoneLog(TRACE, false, false)
|
|
Trace("This is a trace log")
|
|
Debug("This is a debug log")
|
|
Observation("This is an observation log")
|
|
Hypothesis("This is a hypothesis log")
|
|
Failure("This is a failure log")
|
|
|
|
SetLogLevel(INFO)
|
|
}
|
|
|
|
func Test_MutedPlainTextLogs(t *testing.T) {
|
|
InitStoneLog(ERROR, false, true)
|
|
Trace("This is a trace log")
|
|
Debug("This is a debug log")
|
|
Observation("This is an observation log")
|
|
Hypothesis("This is a hypothesis log")
|
|
Failure("This is a failure log")
|
|
}
|
|
|
|
func Test_JSONLogs(t *testing.T) {
|
|
InitStoneLog(TRACE, true, false)
|
|
Trace("This is a trace log")
|
|
Debug("This is a debug log")
|
|
Observation("This is an observation log")
|
|
Hypothesis("This is a hypothesis log")
|
|
Failure("This is a failure log")
|
|
|
|
SetLogLevel(INFO)
|
|
}
|