Merge pull request #400 from cheapRoc/f-zerolog

Add zerolog logging adapter
pull/401/head
Jack Christensen 2018-03-24 10:18:36 -05:00 committed by GitHub
commit 8ce528626e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 0 deletions

View File

@ -0,0 +1,40 @@
// Package zerologadapter provides a logger that writes to a github.com/rs/zerolog.
package zerologadapter
import (
"github.com/jackc/pgx"
"github.com/rs/zerolog"
)
type Logger struct {
logger zerolog.Logger
}
// NewLogger accepts a zerolog.Logger as input and returns a new custom pgx
// logging fascade as output.
func NewLogger(logger zerolog.Logger) *Logger {
return &Logger{
logger: logger.With().Str("module", "pgx").Logger(),
}
}
func (pl *Logger) Log(level pgx.LogLevel, msg string, data map[string]interface{}) {
var zlevel zerolog.Level
switch level {
case pgx.LogLevelNone:
zlevel = zerolog.NoLevel
case pgx.LogLevelError:
zlevel = zerolog.ErrorLevel
case pgx.LogLevelWarn:
zlevel = zerolog.WarnLevel
case pgx.LogLevelInfo:
zlevel = zerolog.InfoLevel
case pgx.LogLevelDebug:
zlevel = zerolog.DebugLevel
default:
zlevel = zerolog.DebugLevel
}
pgxlog := pl.logger.With().Fields(data).Logger()
pgxlog.WithLevel(zlevel).Msg(msg)
}

View File

@ -11,3 +11,4 @@ go get -u github.com/satori/go.uuid
go get -u github.com/sirupsen/logrus go get -u github.com/sirupsen/logrus
go get -u github.com/pkg/errors go get -u github.com/pkg/errors
go get -u go.uber.org/zap go get -u go.uber.org/zap
go get -u github.com/rs/zerolog