Documentation ¶
Index ¶
- Constants
- func DocsMarkdown() ([]byte, error)
- func NewBenthosLogAdapter(l *slog.Logger) *logHandler
- func Spec() docs.FieldSpecs
- type Config
- type File
- type Logger
- func (l *Logger) Debugf(format string, v ...any)
- func (l *Logger) Debugln(message string)
- func (l *Logger) Errorf(format string, v ...any)
- func (l *Logger) Errorln(message string)
- func (l *Logger) Fatalf(format string, v ...any)
- func (l *Logger) Fatalln(message string)
- func (l *Logger) Infof(format string, v ...any)
- func (l *Logger) Infoln(message string)
- func (l *Logger) Tracef(format string, v ...any)
- func (l *Logger) Traceln(message string)
- func (l *Logger) Warnf(format string, v ...any)
- func (l *Logger) Warnln(message string)
- func (l *Logger) With(keyValues ...any) Modular
- func (l *Logger) WithFields(inboundFields map[string]string) Modular
- type Modular
- type PrintFormatter
Constants ¶
const ( LogOff int = 0 LogFatal int = 1 LogError int = 2 LogWarn int = 3 LogInfo int = 4 LogDebug int = 5 LogTrace int = 6 LogAll int = 7 )
Logger level constants.
Variables ¶
This section is empty.
Functions ¶
func DocsMarkdown ¶
DocsMarkdown returns a markdown document for the logger documentation.
func NewBenthosLogAdapter ¶
func Spec ¶
func Spec() docs.FieldSpecs
Spec returns a field spec for the logger configuration fields.
Types ¶
type Config ¶
type Config struct { LogLevel string `json:"level" yaml:"level"` Format string `json:"format" yaml:"format"` AddTimeStamp bool `json:"add_timestamp" yaml:"add_timestamp"` LevelName string `json:"level_name" yaml:"level_name"` MessageName string `json:"message_name" yaml:"message_name"` TimestampName string `json:"timestamp_name" yaml:"timestamp_name"` StaticFields map[string]string `json:"static_fields" yaml:"static_fields"` File File `json:"file" yaml:"file"` }
Config holds configuration options for a logger object.
func NewConfig ¶
func NewConfig() Config
NewConfig returns a config struct with the default values for each field.
func (*Config) UnmarshalJSON ¶
UnmarshalJSON ensures that when parsing configs that are in a slice the default values are still applied.
type File ¶
type File struct { Path string `json:"path" yaml:"path"` Rotate bool `json:"rotate" yaml:"rotate"` RotateMaxAge int `json:"rotate_max_age_days" yaml:"rotate_max_age_days"` }
File contains configuration for file based logging.
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger is an object with support for levelled logging and modular components.
type Modular ¶
type Modular interface { WithFields(fields map[string]string) Modular With(keyValues ...any) Modular Fatalf(format string, v ...any) Errorf(format string, v ...any) Warnf(format string, v ...any) Infof(format string, v ...any) Debugf(format string, v ...any) Tracef(format string, v ...any) Fatalln(message string) Errorln(message string) Warnln(message string) Infoln(message string) Debugln(message string) Traceln(message string) }
Modular is a log printer that allows you to branch new modules.
func Wrap ¶
func Wrap(l PrintFormatter) Modular
Wrap a PrintFormatter with a log.Modular implementation. Log level is set to INFO, use WrapAtLevel to set this explicitly.
func WrapAtLevel ¶
func WrapAtLevel(l PrintFormatter, level int) Modular
WrapAtLevel wraps a PrintFormatter with a log.Modular implementation with an explicit log level.
type PrintFormatter ¶
PrintFormatter is an interface implemented by standard loggers.