Documentation
¶
Overview ¶
Package slog provides a LogLayer transport backed by the standard library's log/slog package.
Use this transport when your codebase or its dependencies are wired against *slog.Logger and you want LogLayer's API on top, or when you want to plug LogLayer into a slog-based handler stack (JSON, text, OpenTelemetry, etc).
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
transport.BaseConfig
// Logger is the underlying *slog.Logger to wrap. When nil a default logger
// using slog.NewJSONHandler writing to Writer is constructed.
Logger *slog.Logger
// Writer is used only when Logger is nil. Defaults to os.Stderr.
Writer io.Writer
// MetadataFieldName is the key under which non-map metadata values are
// emitted (structs, scalars, slices, etc.). Map metadata is always merged
// at the root via individual slog attributes. Defaults to "metadata".
MetadataFieldName string
}
Config holds configuration options for the slog transport.
type Transport ¶
type Transport struct {
transport.BaseTransport
// contains filtered or unexported fields
}
Transport sends log entries to a *slog.Logger.
func (*Transport) GetLoggerInstance ¶
GetLoggerInstance returns the underlying *slog.Logger.
func (*Transport) SendToLogger ¶
func (t *Transport) SendToLogger(params loglayer.TransportParams)
SendToLogger implements loglayer.Transport.
Dispatches via slog.Logger.LogAttrs which does not call os.Exit on any level: the core's Config.DisableFatalExit setting controls termination.