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...) }