slog

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2026 License: MIT Imports: 5 Imported by: 0

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 New

func New(cfg Config) *Transport

New creates a slog Transport from the given Config.

func (*Transport) GetLoggerInstance

func (t *Transport) GetLoggerInstance() any

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.

Jump to

Keyboard shortcuts

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