diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 11:19:16 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-24 09:53:24 +0000 |
commit | b5f8ee61a7f7e9bd291dd26b0585d03eb686c941 (patch) | |
tree | d4d31289c39fc00da064a825df13a0b98ce95b10 /src/go/collectors/go.d.plugin/logger/level.go | |
parent | Adding upstream version 1.44.3. (diff) | |
download | netdata-b5f8ee61a7f7e9bd291dd26b0585d03eb686c941.tar.xz netdata-b5f8ee61a7f7e9bd291dd26b0585d03eb686c941.zip |
Adding upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | src/go/collectors/go.d.plugin/logger/level.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/logger/level.go b/src/go/collectors/go.d.plugin/logger/level.go new file mode 100644 index 000000000..97dccb205 --- /dev/null +++ b/src/go/collectors/go.d.plugin/logger/level.go @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +package logger + +import ( + "log/slog" + "strings" +) + +const ( + levelNotice = slog.Level(2) + levelDisable = slog.Level(99) +) + +var ( + customLevels = map[slog.Leveler]string{ + levelNotice: "NOTICE", + } + customLevelsTerm = map[slog.Leveler]string{ + levelNotice: "\u001B[34m" + "NTC" + "\u001B[0m", + } +) + +var Level = &level{lvl: &slog.LevelVar{}} + +type level struct { + lvl *slog.LevelVar +} + +func (l *level) Enabled(level slog.Level) bool { + return level >= l.lvl.Level() +} + +func (l *level) Set(level slog.Level) { + l.lvl.Set(level) +} + +func (l *level) SetByName(level string) { + // https://github.com/netdata/netdata/tree/master/src/libnetdata/log#log-levels + switch strings.ToLower(level) { + case "err", "error": + l.lvl.Set(slog.LevelError) + case "warn", "warning": + l.lvl.Set(slog.LevelWarn) + case "notice": + l.lvl.Set(levelNotice) + case "info": + l.lvl.Set(slog.LevelInfo) + case "debug": + l.lvl.Set(slog.LevelDebug) + case "emergency", "alert", "critical": + l.lvl.Set(levelDisable) + } +} |