pgx
pgx copied to clipboard
How to use logrus with v5?
In the version 4 there was a config variable config.ConnConfig.Logger, but in the 5 version there is no such varibale. Please provide the code of how to use github.com/sirupsen/logrus with jackc/pgx.
config, err := pgxpool.ParseConfig(connStr)
if err != nil {
fmt.Fprintf(os.Stderr, "Unable to parse config: %v\n", err)
os.Exit(1)
}
looger := &log.Logger{
Out: os.Stderr,
Formatter: new(log.JSONFormatter),
Hooks: make(log.LevelHooks),
Level: log.InfoLevel,
ExitFunc: os.Exit,
ReportCaller: false,
}
config.ConnConfig.Logger = logrusadapter.NewLogger(looger)
See https://github.com/jackc/pgx-logrus
Hi @swanden, I think you should do something like this
import (
pgxLogrus "github.com/jackc/pgx-logrus"
"github.com/jackc/pgx/v5/pgxpool"
"github.com/jackc/pgx/v5/tracelog"
)
dbConf, err := pgxpool.ParseConfig(conf.DB.URL)
if err != nil {
log.Fatalf("can't parse db config url: %v\n", err)
}
logger := pgxLogrus.NewLogger(&logrus.Logger{
Out: os.Stderr,
Formatter: new(logrus.JSONFormatter),
Hooks: make(logrus.LevelHooks),
Level: logrus.InfoLevel,
ExitFunc: os.Exit,
ReportCaller: false,
})
dbConf.ConnConfig.Tracer = &tracelog.TraceLog{
Logger: logger,
LogLevel: tracelog.LogLevelTrace,
}