Documentation
¶
Overview ¶
Example ¶
// Default global logger
// logging.Info().Msg("Hello from the global logger!")
// New child logger
// logger := logging.New()
// err := fmt.Errorf("oh no, an error")
// logger.Error().Err(err).Msg("An internal error occurred")
// New child logger with stacktraced error
// logger := logging.New()
// err := logging.NewStackTraceError("oh no, an error")
// logger.Error().Stack().Err(err).Msg("An internal error occurred!")
// Child logger with custom writer
w := logging.NewConsoleWriter(logging.WithNoColor(), logging.WithNoTimestamp())
logger := logging.New(logging.WithWriter(w), logging.WithLevel(logging.InfoLevel), logging.WithNoCaller())
logger.Warn().Msg("Hello from my new child logger!")
// Child logger with custom writer and level which won't be logged due to info < warning
logger = logging.New(logging.WithWriter(w), logging.WithLevel(logging.WarnLevel), logging.WithNoCaller())
logger.Info().Msg("Hello from my new custom child logger!")
// Slog logger with zerolog handler. Inefficient, so should only be used sparingly
// if some other SDK is able to take a custom slog handler.
h := logging.NewSlogHandler(logging.WithWriter(w))
slogger := slog.New(h)
slogger = slogger.With(
slog.Int("some_int", 1),
slog.String("some_string", "huh"),
slog.Group("some_group",
slog.Int("some_nested_int", 3),
slog.Group("some_nested_group",
slog.Float64("some_nested_nested_float", 100.0),
),
),
)
slogger.Warn("Hello from my new custom slog handler")
Output: WRN Hello from my new child logger! WRN Hello from my new custom slog handler some_group={"some_nested_group":{"some_nested_nested_float":100},"some_nested_int":3} some_int=1 some_string=huh
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // Functions Fatal = log.Fatal Panic = log.Panic Error = log.Error Warn = log.Warn Info = log.Info Debug = log.Debug Trace = log.Trace Ctx = zerolog.Ctx // Levels FatalLevel = zerolog.FatalLevel PanicLevel = zerolog.PanicLevel ErrorLevel = zerolog.ErrorLevel WarnLevel = zerolog.WarnLevel InfoLevel = zerolog.InfoLevel DebugLevel = zerolog.DebugLevel TraceLevel = zerolog.TraceLevel NoLevel = zerolog.NoLevel Disabled = zerolog.Disabled )
Functions ¶
func NewSlogHandler ¶ added in v1.5.0
func NewStackTraceError ¶ added in v1.2.0
Types ¶
type ConsoleWriter ¶ added in v1.6.0
type ConsoleWriter = zerolog.ConsoleWriter
Types
func NewConsoleWriter ¶ added in v1.4.0
func NewConsoleWriter(opts ...Option) ConsoleWriter
type Option ¶
type Option func(*Config)
func WithExcludeFields ¶ added in v1.4.0
func WithNoCaller ¶ added in v1.6.0
func WithNoCaller() Option
func WithNoColor ¶ added in v1.4.0
func WithNoColor() Option
func WithNoStackTrace ¶ added in v1.6.0
func WithNoStackTrace() Option
func WithNoTimestamp ¶ added in v1.4.0
func WithNoTimestamp() Option
func WithWriter ¶
type SLogHandler ¶ added in v1.5.0
type SLogHandler struct {
// contains filtered or unexported fields
}
type StackTrace ¶ added in v1.2.0
func NewStackTrace ¶ added in v1.2.0
func NewStackTrace(skip int) StackTrace
func (*StackTrace) String ¶ added in v1.2.0
func (s *StackTrace) String() string
type StackTraceError ¶ added in v1.2.0
type StackTraceError struct {
Stack StackTrace
// contains filtered or unexported fields
}
func (StackTraceError) Error ¶ added in v1.2.0
func (e StackTraceError) Error() string
func (StackTraceError) Unwrap ¶ added in v1.2.0
func (e StackTraceError) Unwrap() error
Click to show internal directories.
Click to hide internal directories.