logging

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: May 30, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultOptions = Options{
	Level:  LevelDefault,
	Format: FormatDefault,
}

DefaultOptions holds defaults for creating a Logger.

Functions

This section is empty.

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 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 (*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) Log

func (l *Logger) Log(kvps ...interface{}) error

Log implements log.Logger.

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"`

	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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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