github.com/netdata/go.d.plugin@v0.58.1/logger/default.go (about) 1 // SPDX-License-Identifier: GPL-3.0-or-later 2 3 package logger 4 5 import ( 6 "log/slog" 7 "os" 8 9 "github.com/mattn/go-isatty" 10 ) 11 12 func newDefaultLogger() *Logger { 13 if isatty.IsTerminal(os.Stderr.Fd()) { 14 // skip 2 slog pkg calls, 3 this pkg calls 15 return &Logger{sl: slog.New(withCallDepth(5, newTerminalHandler()))} 16 } 17 return &Logger{sl: slog.New(newTextHandler()).With(pluginAttr)} 18 } 19 20 var defaultLogger = newDefaultLogger() 21 22 func Error(a ...any) { defaultLogger.Error(a...) } 23 func Warning(a ...any) { defaultLogger.Warning(a...) } 24 func Info(a ...any) { defaultLogger.Info(a...) } 25 func Debug(a ...any) { defaultLogger.Debug(a...) } 26 func Errorf(format string, a ...any) { defaultLogger.Errorf(format, a...) } 27 func Warningf(format string, a ...any) { defaultLogger.Warningf(format, a...) } 28 func Infof(format string, a ...any) { defaultLogger.Infof(format, a...) } 29 func Debugf(format string, a ...any) { defaultLogger.Debugf(format, a...) } 30 func With(args ...any) *Logger { return defaultLogger.With(args...) }