log

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2025 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Overview

Package log provides helpers for creating a configured slog.Logger.

When a log file path is not provided, logs are written to stdout for non-error levels and to stderr for errors (so stderr can be used for error redirection while keeping normal logs on stdout).

Index

Constants

View Source
const LevelTrace slog.Level = -8

LevelTrace defines a custom slog level below Debug for very verbose output.

Variables

This section is empty.

Functions

func ParseLevel

func ParseLevel(s string) slog.Level

func SetupLogger

func SetupLogger(logLevel, logFile string) (*slog.Logger, []io.Closer, error)

SetupLogger builds a slog.Logger with console and optional file handlers.

Types

type LevelFilter

type LevelFilter struct {
	// contains filtered or unexported fields
}

LevelFilter delegates to an underlying handler but filters which levels are passed to it using the provided predicate.

func (LevelFilter) Enabled

func (f LevelFilter) Enabled(ctx context.Context, level slog.Level) bool

func (LevelFilter) Handle

func (f LevelFilter) Handle(ctx context.Context, r slog.Record) error

func (LevelFilter) WithAttrs

func (f LevelFilter) WithAttrs(attrs []slog.Attr) slog.Handler

func (LevelFilter) WithGroup

func (f LevelFilter) WithGroup(name string) slog.Handler

type MultiHandler

type MultiHandler struct {
	// contains filtered or unexported fields
}

MultiHandler fans out records to multiple handlers.

func (MultiHandler) Enabled

func (m MultiHandler) Enabled(ctx context.Context, level slog.Level) bool

func (MultiHandler) Handle

func (m MultiHandler) Handle(ctx context.Context, r slog.Record) error

func (MultiHandler) WithAttrs

func (m MultiHandler) WithAttrs(attrs []slog.Attr) slog.Handler

func (MultiHandler) WithGroup

func (m MultiHandler) WithGroup(name string) slog.Handler

type RawLogger

type RawLogger interface {
	Log(in bool, data []byte)
}

RawLogger handles raw packet log with optional file output.

func NewRaw

func NewRaw(w io.Writer) RawLogger

NewRaw creates a new RawLogger. If writer is nil, returns a no-op logger.

Jump to

Keyboard shortcuts

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