zerolog-quick
is a Go package that provides pre-configured loggers using the zerolog library. It offers both plain and colored console loggers with various formatting options.
go get github.com/go-mods/zerolog-quick
The default logger is a JSON logger that writes to os.Stderr
:
import log "github.com/go-mods/zerolog-quick"
func main() {
log.Info().Msg("This is an info message")
}
The plain console logger writes to os.Stderr
and does not use any colors:
import (
log "github.com/go-mods/zerolog-quick"
"github.com/go-mods/zerolog-quick/console/plain"
)
func main() {
// Message only
log.Logger = plain.Message
log.Info().Msg("Info message")
// Date and message
log.Logger = plain.DateMessage
log.Info().Msg("Info message with date")
// Date, time, and message
log.Logger = plain.DateTimeMessage
log.Info().Msg("Info message with date and time")
// Date, level, and message
log.Logger = plain.DateLevelMessage
log.Info().Msg("Info message with date and level")
// Date, time, level, and message
log.Logger = plain.DateTimeLevelMessage
log.Info().Msg("Info message with date, time, and level")
}
The colored console logger writes to os.Stderr
and uses colors:
import (
log "github.com/go-mods/zerolog-quick"
"github.com/go-mods/zerolog-quick/console/colored"
)
func main() {
// Colored message
log.Logger = colored.Message
log.Info().Msg("Colored info message")
// Colored date and message
log.Logger = colored.DateMessage
log.Info().Msg("Colored info message with date")
// Colored date, time, and message
log.Logger = colored.DateTimeMessage
log.Info().Msg("Colored info message with date and time")
// Colored date, level, and message
log.Logger = colored.DateLevelMessage
log.Info().Msg("Colored info message with date and level")
// Colored date, time, level, and message
log.Logger = colored.DateTimeLevelMessage
log.Info().Msg("Colored info message with date, time, and level")
}
You can create custom logger configurations using the zerolog.New()
function and the zerolog.ConsoleWriter
options. For example:
import (
"os"
"github.com/rs/zerolog"
log "github.com/go-mods/zerolog-quick"
)
func main() {
customLogger := zerolog.New(
zerolog.ConsoleWriter{
Out: os.Stdout,
NoColor: false,
TimeFormat: "2006-01-02 15:04:05",
PartsOrder: []string{
zerolog.TimestampFieldName,
zerolog.LevelFieldName,
zerolog.MessageFieldName,
},
},
).With().Timestamp().Logger()
log.Logger = customLogger
log.Info().Msg("Custom logger message")
}
This project is licensed under the MIT License - see the LICENSE file for details.