log

package
v4.22.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2023 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
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

func DocsMarkdown() ([]byte, error)

DocsMarkdown returns a markdown document for the logger documentation.

func NewBenthosLogAdapter

func NewBenthosLogAdapter(l *slog.Logger) *logHandler

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

func (conf *Config) UnmarshalJSON(bytes []byte) error

UnmarshalJSON ensures that when parsing configs that are in a slice the default values are still applied.

func (*Config) UnmarshalYAML

func (conf *Config) UnmarshalYAML(unmarshal func(any) error) error

UnmarshalYAML 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.

func (*Logger) Debugf

func (l *Logger) Debugf(format string, v ...any)

Debugf prints a debug message to the console.

func (*Logger) Debugln

func (l *Logger) Debugln(message string)

Debugln prints a debug message to the console.

func (*Logger) Errorf

func (l *Logger) Errorf(format string, v ...any)

Errorf prints an error message to the console.

func (*Logger) Errorln

func (l *Logger) Errorln(message string)

Errorln prints an error message to the console.

func (*Logger) Fatalf

func (l *Logger) Fatalf(format string, v ...any)

Fatalf prints a fatal message to the console. Does NOT cause panic.

func (*Logger) Fatalln

func (l *Logger) Fatalln(message string)

Fatalln prints a fatal message to the console. Does NOT cause panic.

func (*Logger) Infof

func (l *Logger) Infof(format string, v ...any)

Infof prints an information message to the console.

func (*Logger) Infoln

func (l *Logger) Infoln(message string)

Infoln prints an information message to the console.

func (*Logger) Tracef

func (l *Logger) Tracef(format string, v ...any)

Tracef prints a trace message to the console.

func (*Logger) Traceln

func (l *Logger) Traceln(message string)

Traceln prints a trace message to the console.

func (*Logger) Warnf

func (l *Logger) Warnf(format string, v ...any)

Warnf prints a warning message to the console.

func (*Logger) Warnln

func (l *Logger) Warnln(message string)

Warnln prints a warning message to the console.

func (*Logger) With

func (l *Logger) With(keyValues ...any) Modular

With returns a copy of the logger with new labels added to the logging context.

func (*Logger) WithFields

func (l *Logger) WithFields(inboundFields map[string]string) Modular

WithFields returns a logger with new fields added to the JSON formatted output.

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 New

func New(stream io.Writer, fs ifs.FS, config Config) (Modular, error)

New returns a new logger from a config, or returns an error if the config is invalid.

func Noop

func Noop() Modular

Noop creates and returns a new logger object that writes nothing.

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

type PrintFormatter interface {
	Printf(format string, v ...any)
	Println(v ...any)
}

PrintFormatter is an interface implemented by standard loggers.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL