mirror of https://github.com/jackc/pgx.git
Use interface for logging instead of log15 directly
parent
311c332fdc
commit
98109c57bb
8
conn.go
8
conn.go
|
@ -14,7 +14,6 @@ import (
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
log "gopkg.in/inconshreveable/log15.v2"
|
|
||||||
"io"
|
"io"
|
||||||
"net"
|
"net"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
@ -34,7 +33,7 @@ type ConnConfig struct {
|
||||||
User string // default: OS user name
|
User string // default: OS user name
|
||||||
Password string
|
Password string
|
||||||
TLSConfig *tls.Config // config for TLS connection -- nil disables TLS
|
TLSConfig *tls.Config // config for TLS connection -- nil disables TLS
|
||||||
Logger log.Logger
|
Logger Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
// Conn is a PostgreSQL connection handle. It is not safe for concurrent usage.
|
// Conn is a PostgreSQL connection handle. It is not safe for concurrent usage.
|
||||||
|
@ -53,7 +52,7 @@ type Conn struct {
|
||||||
notifications []*Notification
|
notifications []*Notification
|
||||||
alive bool
|
alive bool
|
||||||
causeOfDeath error
|
causeOfDeath error
|
||||||
logger log.Logger
|
logger Logger
|
||||||
rows Rows
|
rows Rows
|
||||||
mr msgReader
|
mr msgReader
|
||||||
}
|
}
|
||||||
|
@ -100,8 +99,7 @@ func Connect(config ConnConfig) (c *Conn, err error) {
|
||||||
if c.config.Logger != nil {
|
if c.config.Logger != nil {
|
||||||
c.logger = c.config.Logger
|
c.logger = c.config.Logger
|
||||||
} else {
|
} else {
|
||||||
c.logger = log.New()
|
c.logger = &DiscardLogger{}
|
||||||
c.logger.SetHandler(log.DiscardHandler())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.config.User == "" {
|
if c.config.User == "" {
|
||||||
|
|
|
@ -2,7 +2,6 @@ package pgx
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
log "gopkg.in/inconshreveable/log15.v2"
|
|
||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -19,7 +18,7 @@ type ConnPool struct {
|
||||||
config ConnConfig // config used when establishing connection
|
config ConnConfig // config used when establishing connection
|
||||||
maxConnections int
|
maxConnections int
|
||||||
afterConnect func(*Conn) error
|
afterConnect func(*Conn) error
|
||||||
logger log.Logger
|
logger Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
type ConnPoolStat struct {
|
type ConnPoolStat struct {
|
||||||
|
@ -45,8 +44,7 @@ func NewConnPool(config ConnPoolConfig) (p *ConnPool, err error) {
|
||||||
if config.Logger != nil {
|
if config.Logger != nil {
|
||||||
p.logger = config.Logger
|
p.logger = config.Logger
|
||||||
} else {
|
} else {
|
||||||
p.logger = log.New()
|
p.logger = &DiscardLogger{}
|
||||||
p.logger.SetHandler(log.DiscardHandler())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
p.allConnections = make([]*Conn, 0, p.maxConnections)
|
p.allConnections = make([]*Conn, 0, p.maxConnections)
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
package pgx
|
||||||
|
|
||||||
|
// Logger is the interface used to get logging from pgx internals.
|
||||||
|
// https://github.com/inconshreveable/log15 is the recommended logging package.
|
||||||
|
// This logging interface was extracted from there. However, it should be simple
|
||||||
|
// to adapt any logger to this interface.
|
||||||
|
type Logger interface {
|
||||||
|
// New returns a new Logger that has this logger's context plus the given context
|
||||||
|
New(ctx ...interface{}) Logger
|
||||||
|
|
||||||
|
// Log a message at the given level with context key/value pairs
|
||||||
|
Debug(msg string, ctx ...interface{})
|
||||||
|
Info(msg string, ctx ...interface{})
|
||||||
|
Warn(msg string, ctx ...interface{})
|
||||||
|
Error(msg string, ctx ...interface{})
|
||||||
|
Crit(msg string, ctx ...interface{})
|
||||||
|
}
|
||||||
|
|
||||||
|
type DiscardLogger struct{}
|
||||||
|
|
||||||
|
func (l *DiscardLogger) New(ctx ...interface{}) Logger { return l }
|
||||||
|
func (l *DiscardLogger) Debug(msg string, ctx ...interface{}) {}
|
||||||
|
func (l *DiscardLogger) Info(msg string, ctx ...interface{}) {}
|
||||||
|
func (l *DiscardLogger) Warn(msg string, ctx ...interface{}) {}
|
||||||
|
func (l *DiscardLogger) Error(msg string, ctx ...interface{}) {}
|
||||||
|
func (l *DiscardLogger) Crit(msg string, ctx ...interface{}) {}
|
Loading…
Reference in New Issue