Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AsyncPolicy ¶
type AsyncPolicy uint8
const ( AsyncBlock AsyncPolicy = iota AsyncDropNewest AsyncDropOldest )
type AtomicLevel ¶
type AtomicLevel struct {
// contains filtered or unexported fields
}
AtomicLevel is a dynamically adjustable minimum log level.
func NewAtomicLevel ¶
func NewAtomicLevel(level Level) *AtomicLevel
func (*AtomicLevel) Enabled ¶
func (a *AtomicLevel) Enabled(level Level) bool
func (*AtomicLevel) Level ¶
func (a *AtomicLevel) Level() Level
func (*AtomicLevel) Set ¶
func (a *AtomicLevel) Set(level Level)
type Core ¶
type Core interface {
Enabled(Level) bool
Write(Event) error
With([]field.Field) Core
Sync() error
}
Core is the backend contract for loggers, encoders, fan-out cores, filters, and external logger adapters.
func NewAsyncCore ¶
func NewAsyncCore(next Core, buffer int, policy AsyncPolicy, observer Observer) Core
func NewFilterCore ¶
func NewFilterCore(next Core, leveler LevelEnabler) Core
func NewHookCore ¶
func NewSamplerCore ¶
func NewTeeCore ¶
type DropObserver ¶
type DropObserver interface {
OnDrop(Event)
}
type Event ¶
type Event struct {
// Ctx is the context the event was logged with, or nil for the plain
// (non-context) logging path. Context-aware cores (e.g. the slog adapter)
// should fall back to context.Background() when it is nil. Carried for
// backends that read request-scoped values such as OTel trace context.
Ctx context.Context
Time time.Time
Level Level
Message string
Context []field.Field
Fields []field.Field
}
Event is a structured log record passed from Logger to Core.
type FilterCore ¶
type FilterCore struct {
// contains filtered or unexported fields
}
func (*FilterCore) Enabled ¶
func (c *FilterCore) Enabled(level Level) bool
func (*FilterCore) Sync ¶
func (c *FilterCore) Sync() error
func (*FilterCore) Write ¶
func (c *FilterCore) Write(event Event) error
type LevelEnabler ¶
LevelEnabler decides whether a level should be written.
type LevelReader ¶
type LevelReader interface {
LevelEnabler
Level() Level
}
LevelReader is an optional LevelEnabler that reports its current minimum level. *AtomicLevel implements it; Logger.Level uses it to read dynamic levelers without probing.
type SamplerCore ¶
type SamplerCore struct {
// contains filtered or unexported fields
}
func (*SamplerCore) Enabled ¶
func (c *SamplerCore) Enabled(level Level) bool
func (*SamplerCore) Sync ¶
func (c *SamplerCore) Sync() error
func (*SamplerCore) Write ¶
func (c *SamplerCore) Write(event Event) error
Click to show internal directories.
Click to hide internal directories.