logging

package
v1.18.0 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultOptions = defaultOptions()

DefaultOptions holds defaults for creating a Logger.

Functions

func NewSlogNop added in v1.16.0

func NewSlogNop() *slog.Logger

NewSlogNop returns a slog logger backed by a handler that never logs.

Types

type EnabledAware

type EnabledAware interface {
	Enabled(context.Context, slog.Level) bool
}

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

func (ll Format) MarshalText() (text []byte, err error)

MarshalText implements encoding.TextMarshaler.

func (*Format) UnmarshalText

func (ll *Format) UnmarshalText(text []byte) error

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

func (ll Level) MarshalText() (text []byte, err error)

MarshalText implements encoding.TextMarshaler.

func (*Level) UnmarshalText

func (ll *Level) UnmarshalText(text []byte) error

UnmarshalText implements encoding.TextUnmarshaler.

type LogDestination added in v1.17.0

type LogDestination string

LogDestination is where to send the primary log output.

const (
	LogDestinationStderr          LogDestination = "stderr"
	LogDestinationWindowsEventLog LogDestination = "windows_event_log"
)

TODO: Add a "none" destination to disable primary output.

func (*LogDestination) UnmarshalText added in v1.17.0

func (d *LogDestination) UnmarshalText(text []byte) error

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 New

func New(w io.Writer, o Options) (*Logger, error)

New creates a New logger with the default log level and format.

func NewDeferred

func NewDeferred(w io.Writer) (*Logger, error)

NewDeferred creates a new logger with the default log level and format. The logger is not updated during initialization.

func NewNop added in v1.5.0

func NewNop() *Logger

NewNop returns a logger that does nothing

func (*Logger) Enabled

func (l *Logger) Enabled(ctx context.Context, level slog.Level) bool

Enabled implements EnabledAware interface.

func (*Logger) Handler

func (l *Logger) Handler() slog.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 (l *Logger) SetTemporaryWriter(w io.Writer)

func (*Logger) Slog added in v1.16.0

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

Slog returns a slog.Logger. The returned logger remains valid if l is updated.

func (*Logger) Update

func (l *Logger) Update(o Options) error

Update re-configures the options used for the logger.

type Options

type Options struct {
	Level       Level          `alloy:"level,attr,optional"`
	Format      Format         `alloy:"format,attr,optional"`
	Destination LogDestination `alloy:"destination,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. It re-evaluates the defaults at call time (rather than reusing DefaultOptions) so that tests which stub isWindowsService after package init still observe the expected destination.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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