logging

package
v0.27.0 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2024 License: Apache-2.0 Imports: 17 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConsoleHandler

type ConsoleHandler struct {
	slog.Handler
	// contains filtered or unexported fields
}

func (*ConsoleHandler) Handle

func (h *ConsoleHandler) Handle(ctx context.Context, r slog.Record) error

type ConsoleOptions added in v0.20.0

type ConsoleOptions struct {
	Level           Level
	Theme           ansicolor.Theme
	ReplaceAttr     func(groups []string, a slog.Attr) slog.Attr
	AddSource       bool
	TimeLocation    *time.Location
	TimestampFormat string
	NoTimestamp     bool
}

func ConsoleDefaultOptions added in v0.20.0

func ConsoleDefaultOptions() ConsoleOptions

type DefaultLogger

type DefaultLogger struct {
	// contains filtered or unexported fields
}

func Console

func Console(opts ConsoleOptions) *DefaultLogger

func New

func New(w io.Writer, lvl Level) *DefaultLogger

func NewDefault added in v0.25.0

func NewDefault(lvl Level) *DefaultLogger

func (*DefaultLogger) BUG

func (l *DefaultLogger) BUG(msg string, attrs ...slog.Attr)

func (*DefaultLogger) ConsumeQueue added in v0.25.0

func (l *DefaultLogger) ConsumeQueue(queue *QueueLogger) error

func (*DefaultLogger) Debug

func (l *DefaultLogger) Debug(msg string, attrs ...slog.Attr)

func (*DefaultLogger) Deprecated

func (l *DefaultLogger) Deprecated(msg string, attrs ...slog.Attr)

func (*DefaultLogger) Enabled

func (l *DefaultLogger) Enabled(lvl Level) bool

func (*DefaultLogger) Error

func (l *DefaultLogger) Error(msg string, attrs ...slog.Attr)

func (*DefaultLogger) HTTP

func (l *DefaultLogger) HTTP(status int, method, path string, attrs ...slog.Attr)

func (*DefaultLogger) Handle

func (l *DefaultLogger) Handle(r slog.Record) error

func (*DefaultLogger) Info

func (l *DefaultLogger) Info(msg string, attrs ...slog.Attr)

func (*DefaultLogger) Level

func (l *DefaultLogger) Level() Level

func (*DefaultLogger) LogDepth

func (l *DefaultLogger) LogDepth(depth int, lvl Level, msg string, attrs ...slog.Attr)

LogDepth logs a message with additional context at a given depth. The depth is the number of stack frames to ascend when logging the message. It is useful only when AddSource is enabled.

func (*DefaultLogger) Logger added in v0.17.0

func (l *DefaultLogger) Logger() *slog.Logger

func (*DefaultLogger) NotImplemented

func (l *DefaultLogger) NotImplemented(msg string, attrs ...slog.Attr)

func (*DefaultLogger) Notice

func (l *DefaultLogger) Notice(msg string, attrs ...slog.Attr)

func (*DefaultLogger) Ok

func (l *DefaultLogger) Ok(msg string, attrs ...slog.Attr)

func (*DefaultLogger) Printf added in v0.14.0

func (l *DefaultLogger) Printf(format string, v ...any)

func (*DefaultLogger) Println

func (l *DefaultLogger) Println(line string, attrs ...slog.Attr)

func (*DefaultLogger) SetLevel

func (l *DefaultLogger) SetLevel(lvl Level)

func (*DefaultLogger) Warn

func (l *DefaultLogger) Warn(msg string, attrs ...slog.Attr)

type Level

type Level int
const (
	LevelDebug          Level = Level(lvlDebug)
	LevelInfo           Level = Level(lvlInfo)
	LevelOk             Level = Level(lvlOk)
	LevelNotice         Level = Level(lvlNotice)
	LevelNotImplemented Level = Level(lvlNotImplemented)
	LevelWarn           Level = Level(lvlWarn)
	LevelDeprecated     Level = Level(lvlDeprecated)
	LevelError          Level = Level(lvlError)
	LevelBUG            Level = Level(lvlBUG)
	LevelAlways         Level = Level(lvlAlways)
	LevelQuiet          Level = Level(lvlQuiet)
)

func LevelFromString added in v0.24.0

func LevelFromString(levelStr string) (Level, error)

func (Level) MarshalSetting added in v0.24.0

func (l Level) MarshalSetting() ([]byte, error)

func (Level) SettingKind added in v0.24.0

func (l Level) SettingKind() settings.Kind

func (Level) String

func (l Level) String() string

func (*Level) UnmarshalSetting added in v0.24.0

func (l *Level) UnmarshalSetting(data []byte) error

type Logger

type Logger interface {
	Debug(msg string, attrs ...slog.Attr)
	Info(msg string, attrs ...slog.Attr)
	Ok(msg string, attrs ...slog.Attr)
	Notice(msg string, attrs ...slog.Attr)
	NotImplemented(msg string, attrs ...slog.Attr)
	Warn(msg string, attrs ...slog.Attr)
	Deprecated(msg string, attrs ...slog.Attr)
	Error(msg string, attrs ...slog.Attr)
	BUG(msg string, attrs ...slog.Attr)
	Println(msg string, attrs ...slog.Attr)
	Printf(format string, v ...any)
	HTTP(status int, method, path string, attrs ...slog.Attr)
	Handle(r slog.Record) error

	Enabled(lvl Level) bool
	Level() Level
	SetLevel(lvl Level)

	LogDepth(depth int, lvl Level, msg string, attrs ...slog.Attr)

	Logger() *slog.Logger

	ConsumeQueue(queue *QueueLogger) error
}

type QueueLogger added in v0.25.0

type QueueLogger struct {
	// contains filtered or unexported fields
}

func NewQueueLogger added in v0.25.0

func NewQueueLogger() *QueueLogger

func (*QueueLogger) BUG added in v0.25.0

func (l *QueueLogger) BUG(msg string, attrs ...slog.Attr)

func (*QueueLogger) Consume added in v0.25.0

func (l *QueueLogger) Consume() []QueueRecord

func (*QueueLogger) ConsumeQueue added in v0.25.0

func (l *QueueLogger) ConsumeQueue(queue *QueueLogger) error

func (*QueueLogger) Debug added in v0.25.0

func (l *QueueLogger) Debug(msg string, attrs ...slog.Attr)

func (*QueueLogger) Deprecated added in v0.25.0

func (l *QueueLogger) Deprecated(msg string, attrs ...slog.Attr)

func (*QueueLogger) Enabled added in v0.25.0

func (l *QueueLogger) Enabled(lvl Level) bool

func (*QueueLogger) Error added in v0.25.0

func (l *QueueLogger) Error(msg string, attrs ...slog.Attr)

func (*QueueLogger) HTTP added in v0.25.0

func (l *QueueLogger) HTTP(status int, method, path string, attrs ...slog.Attr)

func (*QueueLogger) Handle added in v0.25.0

func (l *QueueLogger) Handle(r slog.Record) error

Handle

func (*QueueLogger) Info added in v0.25.0

func (l *QueueLogger) Info(msg string, attrs ...slog.Attr)

func (*QueueLogger) Level added in v0.25.0

func (l *QueueLogger) Level() Level

func (*QueueLogger) LogDepth added in v0.25.0

func (l *QueueLogger) LogDepth(depth int, lvl Level, msg string, attrs ...slog.Attr)

func (*QueueLogger) Logger added in v0.25.0

func (l *QueueLogger) Logger() *slog.Logger

func (*QueueLogger) NotImplemented added in v0.25.0

func (l *QueueLogger) NotImplemented(msg string, attrs ...slog.Attr)

func (*QueueLogger) Notice added in v0.25.0

func (l *QueueLogger) Notice(msg string, attrs ...slog.Attr)

func (*QueueLogger) Ok added in v0.25.0

func (l *QueueLogger) Ok(msg string, attrs ...slog.Attr)

func (*QueueLogger) Printf added in v0.25.0

func (l *QueueLogger) Printf(format string, v ...any)

func (*QueueLogger) Println added in v0.25.0

func (l *QueueLogger) Println(msg string, attrs ...slog.Attr)

func (*QueueLogger) SetLevel added in v0.25.0

func (l *QueueLogger) SetLevel(lvl Level)

func (*QueueLogger) Warn added in v0.25.0

func (l *QueueLogger) Warn(msg string, attrs ...slog.Attr)

type QueueRecord

type QueueRecord struct {
	// contains filtered or unexported fields
}

func NewQueueRecord

func NewQueueRecord(lvl Level, msg string, detph int, attrs ...slog.Attr) QueueRecord

func (QueueRecord) Record

func (qr QueueRecord) Record(loc *time.Location) slog.Record

type Settings added in v0.24.0

type Settings struct {
	Level           Level           `key:"level,config" default:"info" mutation:"mutable" desc:"logging level"`
	NoSource        settings.Bool   `key:"no_source,config" default:"false" mutation:"once" desc:"Hide source location from log messages"`
	TimestampFormat settings.String `key:"timeestamp_format,config" default:"15:04:05.000" mutation:"once" desc:"Timestamp format for log messages"`
	NoTimestamp     settings.Bool   `key:"no_timestamp,config" default:"false" mutation:"once" desc:"Do not show timestamps"`
	NoSlogDefault   settings.Bool   `key:"no_slog_default" default:"false" mutation:"once" desc:"Do not set the default slog logger"`
}

func (Settings) Blueprint added in v0.24.0

func (s Settings) Blueprint() (*settings.Blueprint, error)

type TestLogger

type TestLogger struct {
	// contains filtered or unexported fields
}

func NewTestLogger

func NewTestLogger(lvl Level) *TestLogger

NewTestLogger returns a new test logger that writes to a buffer with slog.JSONHandler. The buffer can be accessed via the Output method.

func (*TestLogger) BUG

func (l *TestLogger) BUG(msg string, attrs ...slog.Attr)

func (*TestLogger) ConsumeQueue added in v0.25.0

func (l *TestLogger) ConsumeQueue(queue *QueueLogger) error

func (*TestLogger) Debug

func (l *TestLogger) Debug(msg string, attrs ...slog.Attr)

func (*TestLogger) Deprecated

func (l *TestLogger) Deprecated(msg string, attrs ...slog.Attr)

func (*TestLogger) Enabled

func (l *TestLogger) Enabled(lvl Level) bool

func (*TestLogger) Error

func (l *TestLogger) Error(msg string, attrs ...slog.Attr)

func (*TestLogger) HTTP

func (l *TestLogger) HTTP(status int, method, path string, attrs ...slog.Attr)

func (*TestLogger) Handle

func (l *TestLogger) Handle(r slog.Record) error

func (*TestLogger) Info

func (l *TestLogger) Info(msg string, attrs ...slog.Attr)

func (*TestLogger) Level

func (l *TestLogger) Level() Level

func (*TestLogger) LogDepth

func (l *TestLogger) LogDepth(depth int, lvl Level, msg string, attrs ...slog.Attr)

func (*TestLogger) Logger added in v0.17.0

func (l *TestLogger) Logger() *slog.Logger

func (*TestLogger) NotImplemented

func (l *TestLogger) NotImplemented(msg string, attrs ...slog.Attr)

func (*TestLogger) Notice

func (l *TestLogger) Notice(msg string, attrs ...slog.Attr)

func (*TestLogger) Ok

func (l *TestLogger) Ok(msg string, attrs ...slog.Attr)

func (*TestLogger) Output

func (tl *TestLogger) Output() string

Output returns String returns the contents of the unread portion of the log output as a string.

func (*TestLogger) Printf added in v0.14.0

func (l *TestLogger) Printf(format string, v ...any)

func (*TestLogger) Println

func (l *TestLogger) Println(msg string, attrs ...slog.Attr)

func (*TestLogger) SetLevel

func (l *TestLogger) SetLevel(lvl Level)

func (*TestLogger) Warn

func (l *TestLogger) Warn(msg string, attrs ...slog.Attr)

Jump to

Keyboard shortcuts

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