Documentation
¶
Index ¶
- Variables
- func NewSlogNop() *slog.Logger
- type EnabledAware
- type Format
- type Level
- type Logger
- func (l *Logger) Enabled(ctx context.Context, level slog.Level) bool
- func (l *Logger) Handler() slog.Handler
- func (l *Logger) Log(kvps ...any) error
- func (l *Logger) RemoveTemporaryWriter()
- func (l *Logger) SetTemporaryWriter(w io.Writer)
- func (l *Logger) Slog() *slog.Logger
- func (l *Logger) Update(o Options) error
- type Options
- type SlogGoKitHandler
Constants ¶
This section is empty.
Variables ¶
var DefaultOptions = Options{ Level: LevelDefault, Format: FormatDefault, }
DefaultOptions holds defaults for creating a Logger.
Functions ¶
func NewSlogNop ¶ added in v1.16.0
NewSlogNop returns a slog logger backed by a handler that never logs.
Types ¶
type Format ¶
type Format string
Format represents a text format to use when writing logs.
const ( FormatLogfmt Format = "logfmt" FormatJSON Format = "json" FormatDefault = FormatLogfmt )
Supported log formats.
func (Format) MarshalText ¶
MarshalText implements encoding.TextMarshaler.
func (*Format) UnmarshalText ¶
UnmarshalText implements encoding.TextUnmarshaler.
type Level ¶
type Level string
Level represents how verbose logging should be.
const ( LevelDebug Level = "debug" LevelInfo Level = "info" LevelWarn Level = "warn" LevelError Level = "error" LevelDefault = LevelInfo )
Supported log levels
func (Level) MarshalText ¶
MarshalText implements encoding.TextMarshaler.
func (*Level) UnmarshalText ¶
UnmarshalText implements encoding.TextUnmarshaler.
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger is the logging subsystem of Alloy. It supports being dynamically updated at runtime.
func NewDeferred ¶
NewDeferred creates a new logger with the default log level and format. The logger is not updated during initialization.
func (*Logger) Handler ¶
Handler returns a slog.Handler. The returned Handler remains valid if l is updated.
func (*Logger) RemoveTemporaryWriter ¶ added in v1.5.0
func (l *Logger) RemoveTemporaryWriter()
func (*Logger) SetTemporaryWriter ¶ added in v1.5.0
func (*Logger) Slog ¶ added in v1.16.0
Slog returns a slog.Logger. The returned logger remains valid if l is updated.
type Options ¶
type Options struct {
Level Level `alloy:"level,attr,optional"`
Format Format `alloy:"format,attr,optional"`
WriteTo []loki.LogsReceiver `alloy:"write_to,attr,optional"`
}
Options is a set of options used to construct and configure a Logger.
func (*Options) SetToDefault ¶
func (o *Options) SetToDefault()
SetToDefault implements syntax.Defaulter.
type SlogGoKitHandler ¶ added in v1.6.0
type SlogGoKitHandler struct {
// contains filtered or unexported fields
}
SlogGoKitHandler is an slog.Handler that wraps a go-kit logger. This is specific to Alloy's logging system, as we expect the go-kit logger to be configured with the correct level.
func NewSlogGoKitHandler ¶ added in v1.6.0
func NewSlogGoKitHandler(logger log.Logger) *SlogGoKitHandler