Documentation ¶
Overview ¶
Package log provides a global logger for zerolog.
Index ¶
- Variables
- func Ctx(ctx context.Context) *zerolog.Logger
- func Debug() *zerolog.Event
- func Error() *zerolog.Event
- func Fatal() *zerolog.Event
- func Hook(h zerolog.Hook) zerolog.Logger
- func Info() *zerolog.Event
- func Level(level zerolog.Level) zerolog.Logger
- func Log() *zerolog.Event
- func Output(w io.Writer) zerolog.Logger
- func Panic() *zerolog.Event
- func Print(v ...interface{})
- func Printf(format string, v ...interface{})
- func Sample(s zerolog.Sampler) zerolog.Logger
- func Warn() *zerolog.Event
- func With() zerolog.Context
- func WithLevel(level zerolog.Level) *zerolog.Event
Examples ¶
Constants ¶
This section is empty.
Variables ¶
var Logger = zerolog.New(os.Stderr).With().Timestamp().Logger()
Logger is the global logger.
Functions ¶
func Ctx ¶
Ctx returns the Logger associated with the ctx. If no logger is associated, a disabled logger is returned.
func Debug ¶
Debug starts a new message with debug level.
You must call Msg on the returned event in order to send the event.
Example ¶
Example of a log at a particular "level" (in this case, "debug")
package main import ( "os" "time" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) // setup would normally be an init() function, however, there seems // to be something awry with the testing framework when we set the // global Logger from an init() func setup() { zerolog.TimeFieldFormat = "" zerolog.TimestampFunc = func() time.Time { return time.Date(2008, 1, 8, 17, 5, 05, 0, time.UTC) } log.Logger = zerolog.New(os.Stdout).With().Timestamp().Logger() } func main() { setup() log.Debug().Msg("hello world") }
Output: {"level":"debug","time":1199811905,"message":"hello world"}
func Error ¶
Error starts a new message with error level.
You must call Msg on the returned event in order to send the event.
Example ¶
Example of a log at a particular "level" (in this case, "error")
package main import ( "os" "time" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) // setup would normally be an init() function, however, there seems // to be something awry with the testing framework when we set the // global Logger from an init() func setup() { zerolog.TimeFieldFormat = "" zerolog.TimestampFunc = func() time.Time { return time.Date(2008, 1, 8, 17, 5, 05, 0, time.UTC) } log.Logger = zerolog.New(os.Stdout).With().Timestamp().Logger() } func main() { setup() log.Error().Msg("hello world") }
Output: {"level":"error","time":1199811905,"message":"hello world"}
func Fatal ¶
Fatal starts a new message with fatal level. The os.Exit(1) function is called by the Msg method.
You must call Msg on the returned event in order to send the event.
Example ¶
Example of a log at a particular "level" (in this case, "fatal")
package main import ( "errors" "os" "time" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) // setup would normally be an init() function, however, there seems // to be something awry with the testing framework when we set the // global Logger from an init() func setup() { zerolog.TimeFieldFormat = "" zerolog.TimestampFunc = func() time.Time { return time.Date(2008, 1, 8, 17, 5, 05, 0, time.UTC) } log.Logger = zerolog.New(os.Stdout).With().Timestamp().Logger() } func main() { setup() err := errors.New("A repo man spends his life getting into tense situations") service := "myservice" log.Fatal(). Err(err). Str("service", service). Msgf("Cannot start %s", service) // Outputs: {"level":"fatal","time":1199811905,"error":"A repo man spends his life getting into tense situations","service":"myservice","message":"Cannot start myservice"} }
Output:
func Info ¶
Info starts a new message with info level.
You must call Msg on the returned event in order to send the event.
Example ¶
Example of a log at a particular "level" (in this case, "info")
package main import ( "os" "time" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) // setup would normally be an init() function, however, there seems // to be something awry with the testing framework when we set the // global Logger from an init() func setup() { zerolog.TimeFieldFormat = "" zerolog.TimestampFunc = func() time.Time { return time.Date(2008, 1, 8, 17, 5, 05, 0, time.UTC) } log.Logger = zerolog.New(os.Stdout).With().Timestamp().Logger() } func main() { setup() log.Info().Msg("hello world") }
Output: {"level":"info","time":1199811905,"message":"hello world"}
func Log ¶
Log starts a new message with no level. Setting zerolog.GlobalLevel to zerolog.Disabled will still disable events produced by this method.
You must call Msg on the returned event in order to send the event.
Example ¶
Example of a log with no particular "level"
package main import ( "os" "time" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) // setup would normally be an init() function, however, there seems // to be something awry with the testing framework when we set the // global Logger from an init() func setup() { zerolog.TimeFieldFormat = "" zerolog.TimestampFunc = func() time.Time { return time.Date(2008, 1, 8, 17, 5, 05, 0, time.UTC) } log.Logger = zerolog.New(os.Stdout).With().Timestamp().Logger() } func main() { setup() log.Log().Msg("hello world") }
Output: {"time":1199811905,"message":"hello world"}
func Panic ¶
Panic starts a new message with panic level. The message is also sent to the panic function.
You must call Msg on the returned event in order to send the event.
func Print ¶ added in v1.3.0
func Print(v ...interface{})
Print sends a log event using debug level and no extra field. Arguments are handled in the manner of fmt.Print.
Example ¶
Simple logging example using the Print function in the log package Note that both Print and Printf are at the debug log level by default
package main import ( "os" "time" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) // setup would normally be an init() function, however, there seems // to be something awry with the testing framework when we set the // global Logger from an init() func setup() { zerolog.TimeFieldFormat = "" zerolog.TimestampFunc = func() time.Time { return time.Date(2008, 1, 8, 17, 5, 05, 0, time.UTC) } log.Logger = zerolog.New(os.Stdout).With().Timestamp().Logger() } func main() { setup() log.Print("hello world") }
Output: {"level":"debug","time":1199811905,"message":"hello world"}
func Printf ¶ added in v1.3.0
func Printf(format string, v ...interface{})
Printf sends a log event using debug level and no extra field. Arguments are handled in the manner of fmt.Printf.
Example ¶
Simple logging example using the Printf function in the log package
package main import ( "os" "time" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) // setup would normally be an init() function, however, there seems // to be something awry with the testing framework when we set the // global Logger from an init() func setup() { zerolog.TimeFieldFormat = "" zerolog.TimestampFunc = func() time.Time { return time.Date(2008, 1, 8, 17, 5, 05, 0, time.UTC) } log.Logger = zerolog.New(os.Stdout).With().Timestamp().Logger() } func main() { setup() log.Printf("hello %s", "world") }
Output: {"level":"debug","time":1199811905,"message":"hello world"}
func Warn ¶
Warn starts a new message with warn level.
You must call Msg on the returned event in order to send the event.
Example ¶
Example of a log at a particular "level" (in this case, "warn")
package main import ( "os" "time" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) // setup would normally be an init() function, however, there seems // to be something awry with the testing framework when we set the // global Logger from an init() func setup() { zerolog.TimeFieldFormat = "" zerolog.TimestampFunc = func() time.Time { return time.Date(2008, 1, 8, 17, 5, 05, 0, time.UTC) } log.Logger = zerolog.New(os.Stdout).With().Timestamp().Logger() } func main() { setup() log.Warn().Msg("hello world") }
Output: {"level":"warn","time":1199811905,"message":"hello world"}
Types ¶
This section is empty.