From a251e78de17724e771ec7d1998aa43ac5a264b14 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Tue, 9 Jul 2024 10:36:45 -0300 Subject: src/lib.go: Add level filter to decide when to log or when to emit metric --- src/lib.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src') diff --git a/src/lib.go b/src/lib.go index a36ace6..911f273 100644 --- a/src/lib.go +++ b/src/lib.go @@ -104,8 +104,26 @@ func (uuid UUID) ToString() string { +type LogLevel int8 + +const ( + LevelNone LogLevel = 0 + LevelError LogLevel = 1 + LevelWarning LogLevel = 2 + LevelInfo LogLevel = 3 + LevelDebug LogLevel = 4 +) + +var Level LogLevel = LevelInfo + +var EmitMetric bool = true + func Debug(message string, type_ string, args ...any) { + if (Level < LevelDebug) { + return + } + slog.Debug( message, append( @@ -120,6 +138,10 @@ func Debug(message string, type_ string, args ...any) { } func Info(message string, type_ string, args ...any) { + if (Level < LevelInfo) { + return + } + slog.Info( message, append( @@ -134,6 +156,10 @@ func Info(message string, type_ string, args ...any) { } func Warning(message string, type_ string, args ...any) { + if (Level < LevelWarning) { + return + } + slog.Warn( message, append( @@ -148,6 +174,10 @@ func Warning(message string, type_ string, args ...any) { } func Error(message string, type_ string, args ...any) { + if (Level < LevelError) { + return + } + slog.Error( message, append( @@ -162,6 +192,10 @@ func Error(message string, type_ string, args ...any) { } func Metric(type_ string, label string, args ...any) { + if (!EmitMetric) { + return + } + slog.Info( "_", append( -- cgit v1.2.3