Log System Implementation #1

Merged
Rene Nochebuena merged 10 commits from feature/log-system-implementation into develop 2025-04-10 18:03:57 -06:00
2 changed files with 27 additions and 5 deletions
Showing only changes of commit 00e6488185 - Show all commits

10
log.go
View File

@ -111,6 +111,10 @@ func InitStoneLog(level StoneLevel, jsonMode, disableSuffixes bool) {
// SetLogLevel sets the current log level to the specified StoneLevel. // SetLogLevel sets the current log level to the specified StoneLevel.
func SetLogLevel(level StoneLevel) { func SetLogLevel(level StoneLevel) {
if level < TRACE || level > PANIC {
return
}
currentLogLevel = level currentLogLevel = level
Observation("Log level set to %v", level) Observation("Log level set to %v", level)
} }
@ -221,11 +225,7 @@ func getRandomPrefix(level StoneLevel) string {
FATAL: stonePanicPrefixes, FATAL: stonePanicPrefixes,
} }
// Default to INFO prefixes if level is not in the map prefixes := prefixMap[level]
prefixes, exists := prefixMap[level]
if !exists {
prefixes = stoneInfoPrefixes
}
// Select and return a random prefix // Select and return a random prefix
return prefixes[rand.Intn(len(prefixes))] return prefixes[rand.Intn(len(prefixes))]

View File

@ -45,3 +45,25 @@ func Test_LogLevelColor(t *testing.T) {
} }
} }
} }
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_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)
}