summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-07-09 10:36:45 -0300
committerEuAndreh <eu@euandre.org>2024-07-09 10:36:45 -0300
commita251e78de17724e771ec7d1998aa43ac5a264b14 (patch)
tree220ab957ea2b76c0af584c1cf2a49df343819eea
parentsrc/lib.go: Remove mmain() (diff)
downloadgobang-a251e78de17724e771ec7d1998aa43ac5a264b14.tar.gz
gobang-a251e78de17724e771ec7d1998aa43ac5a264b14.tar.xz
src/lib.go: Add level filter to decide when to log or when to emit metric
-rw-r--r--src/lib.go34
1 files changed, 34 insertions, 0 deletions
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(