'Cannot use logrusadapter.NewLogger(logrusLogger) (value of type *logrusadapter.Logger)

I'm following this SO question to implement a logger into my pgx connection since I'm getting a closed pool error on Scan.

I'm getting this error in vscode.

cannot use logrusadapter.NewLogger(logrusLogger) (value of type *logrusadapter.Logger) as "github.com/jackc/pgx/v4".Logger value in assignment: wrong type for method Log (have func(level github.com/jackc/pgx.LogLevel, msg string, data map[string]interface{}), want func(ctx context.Context, level github.com/jackc/pgx/v4.LogLevel, msg string, data map[string]interface{}))

package main

import (
    "context"
    "log"
    "net/http"
    "os"

    "github.com/go-chi/chi"
    "github.com/go-chi/chi/middleware"
    "github.com/go-chi/jwtauth"
    "github.com/go-chi/render"
    "github.com/jackc/pgx/log/logrusadapter"
    "github.com/jackc/pgx/v4/pgxpool"
    "github.com/minio/minio-go/v7"
    "github.com/minio/minio-go/v7/pkg/credentials"
    "github.com/sirupsen/logrus"
)

func router() http.Handler {

    var err error

    // urlExample := "postgres://username:password@localhost:5432/database_name"

    config, err := pgxpool.ParseConfig(os.Getenv("DATABASE_URL"))

    if err != nil {
        log.Fatalln(err)
    }

    logrusLogger := &logrus.Logger{
        Out:          os.Stderr,
        Formatter:    new(logrus.JSONFormatter),
        Hooks:        make(logrus.LevelHooks),
        Level:        logrus.InfoLevel,
        ExitFunc:     os.Exit,
        ReportCaller: false,
    }
    config.ConnConfig.Logger = logrusadapter.NewLogger(logrusLogger)

    db, err := pgxpool.ConnectConfig(context.Background(), config)

    if err != nil {
        log.Fatalln(err)
    }

    defer db.Close()


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source