Versions in this module Expand all Collapse all v2 v2.1.0 May 3, 2026 Changes in this version + type MultilineMessage struct + func Multiline(lines ...any) *MultilineMessage + func (m *MultilineMessage) Lines() []string + func (m *MultilineMessage) MarshalJSON() ([]byte, error) + func (m *MultilineMessage) String() string v2.0.1 May 3, 2026 v2.0.0 May 2, 2026 Changes in this version + const LazyEvalError + const PanicKindPlugin + const PanicKindTransport + var ErrNoTransport = errors.New("loglayer: at least one transport must be provided") + var ErrTransportAndTransports = errors.New("loglayer: set Transport or Transports, not both") + var ErrUngroupedTransportsWithoutMode = errors.New("loglayer: UngroupedRouting.Transports set without UngroupedToTransports mode") + func ActiveGroupsFromEnv(name string) []string + func NewContext(parent context.Context, log *LogLayer) context.Context + func UnwrappingErrorSerializer(err error) map[string]any + type BeforeDataOutParams struct + Ctx context.Context + Data Data + Err error + Fields Fields + Groups []string + LogLevel LogLevel + Metadata any + Prefix string + Schema Schema + type BeforeMessageOutParams struct + Ctx context.Context + Groups []string + LogLevel LogLevel + Messages []any + Prefix string + Schema Schema + type Config struct + CopyMsgOnOnlyError bool + DisableFatalExit bool + Disabled bool + ErrorFieldName string + ErrorSerializer ErrorSerializer + FieldsKey string + MetadataFieldName string + MuteFields bool + MuteMetadata bool + OnTransportPanic func(err *RecoveredPanicError) + Plugins []Plugin + Prefix string + Routing RoutingConfig + Source SourceConfig + Transport Transport + TransportCloseTimeout time.Duration + Transports []Transport + type CopyMsgPolicy uint8 + const CopyMsgDefault + const CopyMsgDisabled + const CopyMsgEnabled + type Data map[string]any + type DataHook interface + OnBeforeDataOut func(BeforeDataOutParams) Data + type ErrorOnlyOpts struct + CopyMsg CopyMsgPolicy + LogLevel LogLevel + type ErrorReporter interface + OnError func(err error) + type ErrorSerializer func(err error) map[string]any + type F = Fields + type Fields map[string]any + type FieldsHook interface + OnFieldsCalled func(fields Fields) Fields + type LazyValue struct + func Lazy(fn func() any) *LazyValue + type LevelHook interface + TransformLogLevel func(TransformLogLevelParams) (LogLevel, bool) + type LogBuilder struct + func (b *LogBuilder) Debug(messages ...any) + func (b *LogBuilder) Error(messages ...any) + func (b *LogBuilder) Fatal(messages ...any) + func (b *LogBuilder) Info(messages ...any) + func (b *LogBuilder) Panic(messages ...any) + func (b *LogBuilder) Trace(messages ...any) + func (b *LogBuilder) Warn(messages ...any) + func (b *LogBuilder) WithContext(ctx context.Context) *LogBuilder + func (b *LogBuilder) WithError(err error) *LogBuilder + func (b *LogBuilder) WithGroup(groups ...string) *LogBuilder + func (b *LogBuilder) WithMetadata(v any) *LogBuilder + type LogGroup struct + Disabled bool + Level LogLevel + Transports []string + type LogLayer struct + func Build(config Config) (*LogLayer, error) + func FromContext(ctx context.Context) *LogLayer + func MustFromContext(ctx context.Context) *LogLayer + func New(config Config) *LogLayer + func NewMock() *LogLayer + func (l *LogLayer) AddGroup(name string, group LogGroup) *LogLayer + func (l *LogLayer) AddPlugin(plugins ...Plugin) *LogLayer + func (l *LogLayer) AddTransport(transports ...Transport) *LogLayer + func (l *LogLayer) Child() *LogLayer + func (l *LogLayer) ClearActiveGroups() *LogLayer + func (l *LogLayer) Debug(messages ...any) + func (l *LogLayer) DisableGroup(name string) *LogLayer + func (l *LogLayer) DisableLevel(level LogLevel) *LogLayer + func (l *LogLayer) DisableLogging() *LogLayer + func (l *LogLayer) EnableGroup(name string) *LogLayer + func (l *LogLayer) EnableLevel(level LogLevel) *LogLayer + func (l *LogLayer) EnableLogging() *LogLayer + func (l *LogLayer) Error(messages ...any) + func (l *LogLayer) ErrorOnly(err error, opts ...ErrorOnlyOpts) + func (l *LogLayer) Fatal(messages ...any) + func (l *LogLayer) GetFields() Fields + func (l *LogLayer) GetGroups() map[string]LogGroup + func (l *LogLayer) GetLoggerInstance(id string) any + func (l *LogLayer) GetPlugin(id string) (Plugin, bool) + func (l *LogLayer) Info(messages ...any) + func (l *LogLayer) IsLevelEnabled(level LogLevel) bool + func (l *LogLayer) MetadataOnly(v any, opts ...MetadataOnlyOpts) + func (l *LogLayer) MuteFields() *LogLayer + func (l *LogLayer) MuteMetadata() *LogLayer + func (l *LogLayer) NewLogLogger(level LogLevel) *log.Logger + func (l *LogLayer) Panic(messages ...any) + func (l *LogLayer) PluginCount() int + func (l *LogLayer) Raw(entry RawLogEntry) + func (l *LogLayer) RemoveGroup(name string) bool + func (l *LogLayer) RemovePlugin(id string) bool + func (l *LogLayer) RemoveTransport(id string) bool + func (l *LogLayer) SetActiveGroups(first string, more ...string) *LogLayer + func (l *LogLayer) SetGroupLevel(name string, level LogLevel) *LogLayer + func (l *LogLayer) SetLevel(level LogLevel) *LogLayer + func (l *LogLayer) SetTransports(transports ...Transport) *LogLayer + func (l *LogLayer) Trace(messages ...any) + func (l *LogLayer) UnmuteFields() *LogLayer + func (l *LogLayer) UnmuteMetadata() *LogLayer + func (l *LogLayer) Warn(messages ...any) + func (l *LogLayer) WithContext(ctx context.Context) *LogLayer + func (l *LogLayer) WithError(err error) *LogBuilder + func (l *LogLayer) WithFields(f Fields) *LogLayer + func (l *LogLayer) WithGroup(groups ...string) *LogLayer + func (l *LogLayer) WithMetadata(v any) *LogBuilder + func (l *LogLayer) WithPrefix(prefix string) *LogLayer + func (l *LogLayer) WithoutFields(keys ...string) *LogLayer + func (l *LogLayer) Writer(level LogLevel) io.Writer + type LogLevel int + const LogLevelDebug + const LogLevelError + const LogLevelFatal + const LogLevelInfo + const LogLevelPanic + const LogLevelTrace + const LogLevelWarn + func ParseLogLevel(s string) (LogLevel, bool) + func (l LogLevel) String() string + type M = Metadata + type MessageHook interface + OnBeforeMessageOut func(BeforeMessageOutParams) []any + type Metadata map[string]any + type MetadataHook interface + OnMetadataCalled func(metadata any) any + type MetadataOnlyOpts struct + LogLevel LogLevel + type Plugin interface + ID func() string + func NewDataHook(id string, fn func(BeforeDataOutParams) Data) Plugin + func NewFieldsHook(id string, fn func(Fields) Fields) Plugin + func NewLevelHook(id string, fn func(TransformLogLevelParams) (LogLevel, bool)) Plugin + func NewMessageHook(id string, fn func(BeforeMessageOutParams) []any) Plugin + func NewMetadataHook(id string, fn func(any) any) Plugin + func NewPlugin(id string) Plugin + func NewSendGate(id string, fn func(ShouldSendParams) bool) Plugin + func WithErrorReporter(p Plugin, onError func(error)) Plugin + type PluginPanicDetails struct + Hook string + type RawLogEntry struct + Ctx context.Context + Err error + Fields Fields + Groups []string + LogLevel LogLevel + Messages []any + Metadata any + Source *Source + type RecoveredPanicError struct + ID string + Kind string + Plugin *PluginPanicDetails + Value any + func (e *RecoveredPanicError) Error() string + func (e *RecoveredPanicError) Unwrap() error + type RoutingConfig struct + ActiveGroups []string + Groups map[string]LogGroup + Ungrouped UngroupedRouting + type Schema struct + ErrorFieldName string + FieldsKey string + MetadataFieldName string + SourceFieldName string + type SendGate interface + ShouldSend func(ShouldSendParams) bool + type ShouldSendParams struct + Ctx context.Context + Data Data + Err error + Fields Fields + Groups []string + LogLevel LogLevel + Messages []any + Metadata any + Prefix string + Schema Schema + TransportID string + type Source struct + File string + Function string + Line int + func SourceFromPC(pc uintptr) *Source + func (s *Source) LogValue() slog.Value + func (s *Source) String() string + type SourceConfig struct + Enabled bool + FieldName string + type TransformLogLevelParams struct + Ctx context.Context + Data Data + Err error + Fields Fields + Groups []string + LogLevel LogLevel + Messages []any + Metadata any + Prefix string + Schema Schema + type Transport interface + GetLoggerInstance func() any + ID func() string + IsEnabled func() bool + SendToLogger func(params TransportParams) + type TransportParams struct + Ctx context.Context + Data Data + Err error + Fields Fields + Groups []string + LogLevel LogLevel + Messages []any + Metadata any + Prefix string + Schema Schema + type UngroupedMode uint8 + const UngroupedToAll + const UngroupedToNone + const UngroupedToTransports + type UngroupedRouting struct + Mode UngroupedMode + Transports []string Other modules containing this package go.loglayer.dev