diff --git a/diamond.go b/diamond.go index 8aaaeac..2ed14d7 100644 --- a/diamond.go +++ b/diamond.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "github.com/jackc/pgx/v5" + "github.com/jackc/pgx/v5/pgconn" "github.com/jackc/pgx/v5/pgxpool" "io" "log/slog" @@ -177,6 +178,14 @@ func Open(connString string, cfg *Config) (*Engine, error) { e.pgCfg.MinConns = 5 e.pgCfg.MaxConns = 10 e.pgCfg.MaxConnIdleTime = time.Minute * 2 + e.pgCfg.AfterConnect = func(ctx context.Context, conn *pgx.Conn) error { + oldHandler := conn.Config().OnPgError + conn.Config().OnPgError = func(conn *pgconn.PgConn, pgError *pgconn.PgError) bool { + e.logger.Error("ERROR ->", "err", pgError.Error()) + return oldHandler(conn, pgError) + } + return nil + } if err != nil { return nil, err }