loga

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2025 License: MIT Imports: 12 Imported by: 0

README

LogA – Logging Adapters for Go

Sometimes go applications and libraries use more than one structured logging library, which makes logging unnecessarily difficult.

There has been a move to implement a std library logging library, which already exists under log/slog, however it's still common to see projects using zerolog or zap for performance or historical reasons.

In an attempt to still allow you to log stuff, this library provides simple adapters that you can use to convert between logging libraries.

Currently we support the following conversions:

Source Destination Adapter
Zap Zerolog loga.SlogToZerolog
Slog Zerolog loga.ZapToZerolog

Note that there may be a performance penalty of using these adapaters, as sometimes we may need to convert logging mechanisms that are not supported in the destination library (e.g., nested arrays in zerolog). However, we feel that having the performance penalty is better than not having logging, for most use cases.

Contributing

If you want to contribute to this project, firstly, let me thank you, and secondly, our structure is that each destination should have its own go file, like zerolog.go.

Every contribution should also be accompanied of some tests, to guarantee that the solution works and covers all use-cases. Currently, we don't have an extensive test coverage, but we aim to improve that in the future.

Acknowledgements

  • zerozap for much of the inspiration when converting from Zap to Zerolog.
  • All the logging libraries authors for their amazing work!

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SlogToZerolog

func SlogToZerolog(logger zerolog.Logger) *slog.Logger

func ZapToZerolog

func ZapToZerolog(logger zerolog.Logger, options ...zap.Option) *zap.Logger

Types

type SlogToZerologHandler

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

func (*SlogToZerologHandler) Enabled

func (s *SlogToZerologHandler) Enabled(ctx context.Context, level slog.Level) bool

func (*SlogToZerologHandler) Handle

func (s *SlogToZerologHandler) Handle(ctx context.Context, rec slog.Record) error

func (*SlogToZerologHandler) WithAttrs

func (s *SlogToZerologHandler) WithAttrs(attrs []slog.Attr) slog.Handler

func (*SlogToZerologHandler) WithGroup

func (s *SlogToZerologHandler) WithGroup(name string) slog.Handler

type ZapToZerlogObjectEncoder

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

func (*ZapToZerlogObjectEncoder) AddArray

func (z *ZapToZerlogObjectEncoder) AddArray(key string, marshaler zapcore.ArrayMarshaler) error

func (*ZapToZerlogObjectEncoder) AddBinary

func (z *ZapToZerlogObjectEncoder) AddBinary(key string, value []byte)

func (*ZapToZerlogObjectEncoder) AddBool

func (z *ZapToZerlogObjectEncoder) AddBool(key string, value bool)

func (*ZapToZerlogObjectEncoder) AddByteString

func (z *ZapToZerlogObjectEncoder) AddByteString(key string, value []byte)

func (*ZapToZerlogObjectEncoder) AddComplex128

func (z *ZapToZerlogObjectEncoder) AddComplex128(key string, value complex128)

func (*ZapToZerlogObjectEncoder) AddComplex64

func (z *ZapToZerlogObjectEncoder) AddComplex64(key string, value complex64)

func (*ZapToZerlogObjectEncoder) AddDuration

func (z *ZapToZerlogObjectEncoder) AddDuration(key string, value time.Duration)

func (*ZapToZerlogObjectEncoder) AddFloat32

func (z *ZapToZerlogObjectEncoder) AddFloat32(key string, value float32)

func (*ZapToZerlogObjectEncoder) AddFloat64

func (z *ZapToZerlogObjectEncoder) AddFloat64(key string, value float64)

func (*ZapToZerlogObjectEncoder) AddInt

func (z *ZapToZerlogObjectEncoder) AddInt(key string, value int)

func (*ZapToZerlogObjectEncoder) AddInt16

func (z *ZapToZerlogObjectEncoder) AddInt16(key string, value int16)

func (*ZapToZerlogObjectEncoder) AddInt32

func (z *ZapToZerlogObjectEncoder) AddInt32(key string, value int32)

func (*ZapToZerlogObjectEncoder) AddInt64

func (z *ZapToZerlogObjectEncoder) AddInt64(key string, value int64)

func (*ZapToZerlogObjectEncoder) AddInt8

func (z *ZapToZerlogObjectEncoder) AddInt8(key string, value int8)

func (*ZapToZerlogObjectEncoder) AddObject

func (z *ZapToZerlogObjectEncoder) AddObject(key string, marshaler zapcore.ObjectMarshaler) error

func (*ZapToZerlogObjectEncoder) AddReflected

func (z *ZapToZerlogObjectEncoder) AddReflected(key string, value interface{}) error

func (*ZapToZerlogObjectEncoder) AddString

func (z *ZapToZerlogObjectEncoder) AddString(key string, value string)

func (*ZapToZerlogObjectEncoder) AddTime

func (z *ZapToZerlogObjectEncoder) AddTime(key string, value time.Time)

func (*ZapToZerlogObjectEncoder) AddUint

func (z *ZapToZerlogObjectEncoder) AddUint(key string, value uint)

func (*ZapToZerlogObjectEncoder) AddUint16

func (z *ZapToZerlogObjectEncoder) AddUint16(key string, value uint16)

func (*ZapToZerlogObjectEncoder) AddUint32

func (z *ZapToZerlogObjectEncoder) AddUint32(key string, value uint32)

func (*ZapToZerlogObjectEncoder) AddUint64

func (z *ZapToZerlogObjectEncoder) AddUint64(key string, value uint64)

func (*ZapToZerlogObjectEncoder) AddUint8

func (z *ZapToZerlogObjectEncoder) AddUint8(key string, value uint8)

func (*ZapToZerlogObjectEncoder) AddUintptr

func (z *ZapToZerlogObjectEncoder) AddUintptr(key string, value uintptr)

func (*ZapToZerlogObjectEncoder) OpenNamespace

func (z *ZapToZerlogObjectEncoder) OpenNamespace(key string)

type ZapToZerologArrayEncoder

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

func (*ZapToZerologArrayEncoder) AppendArray

func (z *ZapToZerologArrayEncoder) AppendArray(data zapcore.ArrayMarshaler) (retErr error)

func (*ZapToZerologArrayEncoder) AppendBool

func (z *ZapToZerologArrayEncoder) AppendBool(data bool)

func (*ZapToZerologArrayEncoder) AppendByteString

func (z *ZapToZerologArrayEncoder) AppendByteString(data []byte)

func (*ZapToZerologArrayEncoder) AppendComplex128

func (z *ZapToZerologArrayEncoder) AppendComplex128(data complex128)

func (*ZapToZerologArrayEncoder) AppendComplex64

func (z *ZapToZerologArrayEncoder) AppendComplex64(data complex64)

func (*ZapToZerologArrayEncoder) AppendDuration

func (z *ZapToZerologArrayEncoder) AppendDuration(data time.Duration)

func (*ZapToZerologArrayEncoder) AppendFloat32

func (z *ZapToZerologArrayEncoder) AppendFloat32(data float32)

func (*ZapToZerologArrayEncoder) AppendFloat64

func (z *ZapToZerologArrayEncoder) AppendFloat64(data float64)

func (*ZapToZerologArrayEncoder) AppendInt

func (z *ZapToZerologArrayEncoder) AppendInt(data int)

func (*ZapToZerologArrayEncoder) AppendInt16

func (z *ZapToZerologArrayEncoder) AppendInt16(data int16)

func (*ZapToZerologArrayEncoder) AppendInt32

func (z *ZapToZerologArrayEncoder) AppendInt32(data int32)

func (*ZapToZerologArrayEncoder) AppendInt64

func (z *ZapToZerologArrayEncoder) AppendInt64(data int64)

func (*ZapToZerologArrayEncoder) AppendInt8

func (z *ZapToZerologArrayEncoder) AppendInt8(data int8)

func (*ZapToZerologArrayEncoder) AppendObject

func (z *ZapToZerologArrayEncoder) AppendObject(data zapcore.ObjectMarshaler) error

func (*ZapToZerologArrayEncoder) AppendReflected

func (z *ZapToZerologArrayEncoder) AppendReflected(data interface{}) error

func (*ZapToZerologArrayEncoder) AppendString

func (z *ZapToZerologArrayEncoder) AppendString(data string)

func (*ZapToZerologArrayEncoder) AppendTime

func (z *ZapToZerologArrayEncoder) AppendTime(data time.Time)

func (*ZapToZerologArrayEncoder) AppendUint

func (z *ZapToZerologArrayEncoder) AppendUint(data uint)

func (*ZapToZerologArrayEncoder) AppendUint16

func (z *ZapToZerologArrayEncoder) AppendUint16(data uint16)

func (*ZapToZerologArrayEncoder) AppendUint32

func (z *ZapToZerologArrayEncoder) AppendUint32(data uint32)

func (*ZapToZerologArrayEncoder) AppendUint64

func (z *ZapToZerologArrayEncoder) AppendUint64(data uint64)

func (*ZapToZerologArrayEncoder) AppendUint8

func (z *ZapToZerologArrayEncoder) AppendUint8(data uint8)

func (*ZapToZerologArrayEncoder) AppendUintptr

func (z *ZapToZerologArrayEncoder) AppendUintptr(data uintptr)

type ZapToZerologArrayMarshaler

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

func (*ZapToZerologArrayMarshaler) MarshalZerologArray

func (z *ZapToZerologArrayMarshaler) MarshalZerologArray(a *zerolog.Array)

type ZapToZerologHandler

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

func (*ZapToZerologHandler) Check

func (*ZapToZerologHandler) Enabled

func (z *ZapToZerologHandler) Enabled(level zapcore.Level) bool

func (*ZapToZerologHandler) Sync

func (z *ZapToZerologHandler) Sync() error

func (*ZapToZerologHandler) With

func (z *ZapToZerologHandler) With(fields []zapcore.Field) zapcore.Core

func (*ZapToZerologHandler) Write

func (z *ZapToZerologHandler) Write(entry zapcore.Entry, fields []zapcore.Field) error

type ZapToZerologObjectMarshaler

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

func (*ZapToZerologObjectMarshaler) MarshalZerologObject

func (z *ZapToZerologObjectMarshaler) MarshalZerologObject(e *zerolog.Event)

Jump to

Keyboard shortcuts

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