logger

package
v0.42.0 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2022 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package logger has helpers to setup a zerolog.Logger

https://github.com/rs/zerolog

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewLogger

func NewLogger(w io.Writer, lvl zerolog.Level, withTimestamp bool) zerolog.Logger

NewLogger is a convenience function to initialize a zerolog.Logger

Example
package main

import (
	"os"

	"github.com/gilcrest/go-api-basic/domain/logger"

	"github.com/rs/zerolog"
)

func main() {
	lgr := logger.NewLogger(os.Stdout, zerolog.DebugLevel, false)
	lgr.Trace().Msg("Trace is lower than Debug, this message is filtered out")
	lgr.Debug().Msg("This is a log at the Debug level")

	zerolog.SetGlobalLevel(zerolog.ErrorLevel)
	lgr.Debug().Msg("Logging level raised to Error, Debug is lower than Error, this message is filtered out")
	lgr.Error().Msg("This is a log at the Error level")

	zerolog.SetGlobalLevel(zerolog.TraceLevel)
	lgr.Trace().Msg("Setting Global level will not impact minimum set to logger, this trace message will still be filtered out")
	lgr.Debug().Msg("Logging level raised all the way down to Trace level, Debug is higher than Trace, this will log")

}
Output:

{"level":"debug","severity":"DEBUG","message":"This is a log at the Debug level"}
{"level":"error","severity":"ERROR","message":"This is a log at the Error level"}
{"level":"debug","severity":"DEBUG","message":"Logging level raised all the way down to Trace level, Debug is higher than Trace, this will log"}

func WriteErrorStackGlobal

func WriteErrorStackGlobal(writeStack bool)

WriteErrorStackGlobal is a convenience wrapper to set the zerolog Global variable ErrorStackMarshaler to write Error stacks for logs

Types

type GCPSeverityHook

type GCPSeverityHook struct{}

The GCPSeverityHook struct satisfies the zerolog.Hook interface as it has the Run method defined with the appropriate parameters

func (GCPSeverityHook) Run

func (h GCPSeverityHook) Run(e *zerolog.Event, level zerolog.Level, msg string)

Run method satisfies zerolog.Hook interface and adds a severity level to all logs, given zerolog.Level passed in. Zerolog levels are mapped to log levels recognized by GCP

Jump to

Keyboard shortcuts

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