mirror of
https://github.com/netdata/netdata.git
synced 2025-04-13 09:11:50 +00:00

* restruture go.d * update gitignore * update ci files * update gen_docs_integrations.py * update link in go.d conf files * update go.d modules metadata files * update metadata files * update packaging * add log files * integrations commit * update get-go-version.py * go fmt * fix packaging * update go.d readme --------- Co-authored-by: Fotis Voutsas <fotis@netdata.cloud>
54 lines
1 KiB
Go
54 lines
1 KiB
Go
// 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)
|
|
}
|
|
}
|