From 8e2e8a700950f7cd625e2870ce566aab97e7bcdf Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Sat, 11 Dec 2021 14:52:31 -0600 Subject: [PATCH] Remove external log adapters --- examples/url_shortener/main.go | 18 ++--- go.mod | 18 ----- go.sum | 42 ------------ log/kitlogadapter/adapter.go | 39 ----------- log/log15adapter/adapter.go | 49 -------------- log/logrusadapter/adapter.go | 42 ------------ log/zapadapter/adapter.go | 42 ------------ log/zerologadapter/adapter.go | 102 ----------------------------- log/zerologadapter/adapter_test.go | 98 --------------------------- 9 files changed, 5 insertions(+), 445 deletions(-) delete mode 100644 log/kitlogadapter/adapter.go delete mode 100644 log/log15adapter/adapter.go delete mode 100644 log/logrusadapter/adapter.go delete mode 100644 log/zapadapter/adapter.go delete mode 100644 log/zerologadapter/adapter.go delete mode 100644 log/zerologadapter/adapter_test.go diff --git a/examples/url_shortener/main.go b/examples/url_shortener/main.go index cb474f32..fb267b74 100644 --- a/examples/url_shortener/main.go +++ b/examples/url_shortener/main.go @@ -3,13 +3,12 @@ package main import ( "context" "io/ioutil" + "log" "net/http" "os" "github.com/jackc/pgx/v5" - "github.com/jackc/pgx/v5/log/log15adapter" "github.com/jackc/pgx/v5/pgxpool" - log "gopkg.in/inconshreveable/log15.v2" ) var db *pgxpool.Pool @@ -71,28 +70,21 @@ func urlHandler(w http.ResponseWriter, req *http.Request) { } func main() { - logger := log15adapter.NewLogger(log.New("module", "pgx")) - poolConfig, err := pgxpool.ParseConfig(os.Getenv("DATABASE_URL")) if err != nil { - log.Crit("Unable to parse DATABASE_URL", "error", err) - os.Exit(1) + log.Fatalln("Unable to parse DATABASE_URL:", err) } - poolConfig.ConnConfig.Logger = logger - db, err = pgxpool.ConnectConfig(context.Background(), poolConfig) if err != nil { - log.Crit("Unable to create connection pool", "error", err) - os.Exit(1) + log.Fatalln("Unable to create connection pool:", err) } http.HandleFunc("/", urlHandler) - log.Info("Starting URL shortener on localhost:8080") + log.Println("Starting URL shortener on localhost:8080") err = http.ListenAndServe("localhost:8080", nil) if err != nil { - log.Crit("Unable to start web server", "error", err) - os.Exit(1) + log.Fatalln("Unable to start web server:" err) } } diff --git a/go.mod b/go.mod index b9ae1f8e..8cbffeb8 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,6 @@ module github.com/jackc/pgx/v5 go 1.17 require ( - github.com/go-kit/log v0.1.0 github.com/jackc/chunkreader/v2 v2.0.1 github.com/jackc/pgio v1.0.0 github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 @@ -11,30 +10,13 @@ require ( github.com/jackc/pgproto3/v2 v2.2.0 github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b github.com/jackc/puddle v1.2.0 - github.com/rs/zerolog v1.15.0 - github.com/sirupsen/logrus v1.4.2 github.com/stretchr/testify v1.7.0 - go.uber.org/zap v1.13.0 golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97 golang.org/x/text v0.3.6 - gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec ) require ( - github.com/BurntSushi/toml v0.3.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/go-logfmt/logfmt v0.5.0 // indirect - github.com/go-stack/stack v1.8.0 // indirect - github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect - github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.uber.org/atomic v1.5.0 // indirect - go.uber.org/multierr v1.3.0 // indirect - go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee // indirect - golang.org/x/lint v0.0.0-20190930215403-16217165b5de // indirect - golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6 // indirect - golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5 // indirect gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect - honnef.co/go/tools v0.0.1-2019.2.3 // indirect ) diff --git a/go.sum b/go.sum index 9fe60dde..cca0fd29 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,3 @@ -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -7,13 +5,7 @@ github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7Do github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-kit/log v0.1.0 h1:DGJh0Sm43HbOeYDNnVZFl8BvcYVvjD5bqYJvp0REbwQ= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= @@ -55,9 +47,7 @@ github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0f github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.2.0 h1:DNDKdn/pDrWvDWyT2FYvpZVE81OAhWrjCv19I9n108Q= github.com/jackc/puddle v1.2.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= @@ -69,25 +59,17 @@ github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= -github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= -github.com/rs/zerolog v1.15.0 h1:uPRuwkWF4J6fGsJ2R0Gn2jB1EQiav9k3S6CSdygQJXY= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -101,29 +83,17 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.5.0 h1:OI5t8sDa1Or+q8AeE+yKeB/SDYioSHAgcVljj9JIETY= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.3.0 h1:sFPn2GLc3poCkfrpIXGhBD2X0CMIo4Q/zSULXrj/+uc= -go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.13.0 h1:nR6NoDBgAf67s68NhaXbsojM+2gxp3S1hWkHDl27pVU= -go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97 h1:/UOmuWzQfxxo9UtlXMwuQU8CMgg1eZXqTRwkSQJWKOI= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -140,9 +110,6 @@ golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6 h1:foEbQz/B0Oz6YIqu/69kfXPYeFQAuuMYFkjaqXzl5Wo= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -152,13 +119,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5 h1:hKsoRgsbwY1NafxrwTs+k64bikrLBkAgPir1TNCj3Zs= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -166,11 +128,7 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec h1:RlWgLqCMMIYYEVcAR5MDsuHlVkaIPDAF+5Dehzg8L5A= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= diff --git a/log/kitlogadapter/adapter.go b/log/kitlogadapter/adapter.go deleted file mode 100644 index 95fc6c49..00000000 --- a/log/kitlogadapter/adapter.go +++ /dev/null @@ -1,39 +0,0 @@ -package kitlogadapter - -import ( - "context" - - "github.com/go-kit/log" - kitlevel "github.com/go-kit/log/level" - "github.com/jackc/pgx/v5" -) - -type Logger struct { - l log.Logger -} - -func NewLogger(l log.Logger) *Logger { - return &Logger{l: l} -} - -func (l *Logger) Log(ctx context.Context, level pgx.LogLevel, msg string, data map[string]interface{}) { - logger := l.l - for k, v := range data { - logger = log.With(logger, k, v) - } - - switch level { - case pgx.LogLevelTrace: - logger.Log("PGX_LOG_LEVEL", level, "msg", msg) - case pgx.LogLevelDebug: - kitlevel.Debug(logger).Log("msg", msg) - case pgx.LogLevelInfo: - kitlevel.Info(logger).Log("msg", msg) - case pgx.LogLevelWarn: - kitlevel.Warn(logger).Log("msg", msg) - case pgx.LogLevelError: - kitlevel.Error(logger).Log("msg", msg) - default: - logger.Log("INVALID_PGX_LOG_LEVEL", level, "error", msg) - } -} diff --git a/log/log15adapter/adapter.go b/log/log15adapter/adapter.go deleted file mode 100644 index dece65b4..00000000 --- a/log/log15adapter/adapter.go +++ /dev/null @@ -1,49 +0,0 @@ -// Package log15adapter provides a logger that writes to a github.com/inconshreveable/log15.Logger -// log. -package log15adapter - -import ( - "context" - - "github.com/jackc/pgx/v5" -) - -// Log15Logger interface defines the subset of -// github.com/inconshreveable/log15.Logger that this adapter uses. -type Log15Logger interface { - 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 Logger struct { - l Log15Logger -} - -func NewLogger(l Log15Logger) *Logger { - return &Logger{l: l} -} - -func (l *Logger) Log(ctx context.Context, level pgx.LogLevel, msg string, data map[string]interface{}) { - logArgs := make([]interface{}, 0, len(data)) - for k, v := range data { - logArgs = append(logArgs, k, v) - } - - switch level { - case pgx.LogLevelTrace: - l.l.Debug(msg, append(logArgs, "PGX_LOG_LEVEL", level)...) - case pgx.LogLevelDebug: - l.l.Debug(msg, logArgs...) - case pgx.LogLevelInfo: - l.l.Info(msg, logArgs...) - case pgx.LogLevelWarn: - l.l.Warn(msg, logArgs...) - case pgx.LogLevelError: - l.l.Error(msg, logArgs...) - default: - l.l.Error(msg, append(logArgs, "INVALID_PGX_LOG_LEVEL", level)...) - } -} diff --git a/log/logrusadapter/adapter.go b/log/logrusadapter/adapter.go deleted file mode 100644 index 65a64230..00000000 --- a/log/logrusadapter/adapter.go +++ /dev/null @@ -1,42 +0,0 @@ -// Package logrusadapter provides a logger that writes to a github.com/sirupsen/logrus.Logger -// log. -package logrusadapter - -import ( - "context" - - "github.com/jackc/pgx/v5" - "github.com/sirupsen/logrus" -) - -type Logger struct { - l logrus.FieldLogger -} - -func NewLogger(l logrus.FieldLogger) *Logger { - return &Logger{l: l} -} - -func (l *Logger) Log(ctx context.Context, level pgx.LogLevel, msg string, data map[string]interface{}) { - var logger logrus.FieldLogger - if data != nil { - logger = l.l.WithFields(data) - } else { - logger = l.l - } - - switch level { - case pgx.LogLevelTrace: - logger.WithField("PGX_LOG_LEVEL", level).Debug(msg) - case pgx.LogLevelDebug: - logger.Debug(msg) - case pgx.LogLevelInfo: - logger.Info(msg) - case pgx.LogLevelWarn: - logger.Warn(msg) - case pgx.LogLevelError: - logger.Error(msg) - default: - logger.WithField("INVALID_PGX_LOG_LEVEL", level).Error(msg) - } -} diff --git a/log/zapadapter/adapter.go b/log/zapadapter/adapter.go deleted file mode 100644 index 4dc47cd0..00000000 --- a/log/zapadapter/adapter.go +++ /dev/null @@ -1,42 +0,0 @@ -// Package zapadapter provides a logger that writes to a go.uber.org/zap.Logger. -package zapadapter - -import ( - "context" - - "github.com/jackc/pgx/v5" - "go.uber.org/zap" - "go.uber.org/zap/zapcore" -) - -type Logger struct { - logger *zap.Logger -} - -func NewLogger(logger *zap.Logger) *Logger { - return &Logger{logger: logger.WithOptions(zap.AddCallerSkip(1))} -} - -func (pl *Logger) Log(ctx context.Context, level pgx.LogLevel, msg string, data map[string]interface{}) { - fields := make([]zapcore.Field, len(data)) - i := 0 - for k, v := range data { - fields[i] = zap.Any(k, v) - i++ - } - - switch level { - case pgx.LogLevelTrace: - pl.logger.Debug(msg, append(fields, zap.Stringer("PGX_LOG_LEVEL", level))...) - case pgx.LogLevelDebug: - pl.logger.Debug(msg, fields...) - case pgx.LogLevelInfo: - pl.logger.Info(msg, fields...) - case pgx.LogLevelWarn: - pl.logger.Warn(msg, fields...) - case pgx.LogLevelError: - pl.logger.Error(msg, fields...) - default: - pl.logger.Error(msg, append(fields, zap.Stringer("PGX_LOG_LEVEL", level))...) - } -} diff --git a/log/zerologadapter/adapter.go b/log/zerologadapter/adapter.go deleted file mode 100644 index b93036fe..00000000 --- a/log/zerologadapter/adapter.go +++ /dev/null @@ -1,102 +0,0 @@ -// Package zerologadapter provides a logger that writes to a github.com/rs/zerolog. -package zerologadapter - -import ( - "context" - - "github.com/jackc/pgx/v5" - "github.com/rs/zerolog" -) - -type Logger struct { - logger zerolog.Logger - withFunc func(context.Context, zerolog.Context) zerolog.Context - fromContext bool - skipModule bool -} - -// option options for configuring the logger when creating a new logger. -type option func(logger *Logger) - -// WithContextFunc adds possibility to get request scoped values from the -// ctx.Context before logging lines. -func WithContextFunc(withFunc func(context.Context, zerolog.Context) zerolog.Context) option { - return func(logger *Logger) { - logger.withFunc = withFunc - } -} - -// WithoutPGXModule disables adding module:pgx to the default logger context. -func WithoutPGXModule() option { - return func(logger *Logger) { - logger.skipModule = true - } -} - -// NewLogger accepts a zerolog.Logger as input and returns a new custom pgx -// logging facade as output. -func NewLogger(logger zerolog.Logger, options ...option) *Logger { - l := Logger{ - logger: logger, - } - l.init(options) - return &l -} - -// NewContextLogger creates logger that extracts the zerolog.Logger from the -// context.Context by using `zerolog.Ctx`. The zerolog.DefaultContextLogger will -// be used if no logger is associated with the context. -func NewContextLogger(options ...option) *Logger { - l := Logger{ - fromContext: true, - } - l.init(options) - return &l -} - -func (pl *Logger) init(options []option) { - for _, opt := range options { - opt(pl) - } - if !pl.skipModule { - pl.logger = pl.logger.With().Str("module", "pgx").Logger() - } -} - -func (pl *Logger) Log(ctx context.Context, 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 - } - - var zctx zerolog.Context - if pl.fromContext { - logger := zerolog.Ctx(ctx) - zctx = logger.With() - } else { - zctx = pl.logger.With() - } - if pl.withFunc != nil { - zctx = pl.withFunc(ctx, zctx) - } - - pgxlog := zctx.Logger() - event := pgxlog.WithLevel(zlevel) - if event.Enabled() { - if pl.fromContext && !pl.skipModule { - event.Str("module", "pgx") - } - event.Fields(data).Msg(msg) - } -} diff --git a/log/zerologadapter/adapter_test.go b/log/zerologadapter/adapter_test.go deleted file mode 100644 index 152b2129..00000000 --- a/log/zerologadapter/adapter_test.go +++ /dev/null @@ -1,98 +0,0 @@ -package zerologadapter_test - -import ( - "bytes" - "context" - "testing" - - "github.com/jackc/pgx/v5" - "github.com/jackc/pgx/v5/log/zerologadapter" - "github.com/rs/zerolog" -) - -func TestLogger(t *testing.T) { - - t.Run("default", func(t *testing.T) { - var buf bytes.Buffer - zlogger := zerolog.New(&buf) - logger := zerologadapter.NewLogger(zlogger) - logger.Log(context.Background(), pgx.LogLevelInfo, "hello", map[string]interface{}{"one": "two"}) - const want = `{"level":"info","module":"pgx","one":"two","message":"hello"} -` - got := buf.String() - if got != want { - t.Errorf("%s != %s", got, want) - } - }) - - t.Run("disable pgx module", func(t *testing.T) { - var buf bytes.Buffer - zlogger := zerolog.New(&buf) - logger := zerologadapter.NewLogger(zlogger, zerologadapter.WithoutPGXModule()) - logger.Log(context.Background(), pgx.LogLevelInfo, "hello", nil) - const want = `{"level":"info","message":"hello"} -` - got := buf.String() - if got != want { - t.Errorf("%s != %s", got, want) - } - }) - - t.Run("from context", func(t *testing.T) { - var buf bytes.Buffer - zlogger := zerolog.New(&buf) - ctx := zlogger.WithContext(context.Background()) - logger := zerologadapter.NewContextLogger() - logger.Log(ctx, pgx.LogLevelInfo, "hello", map[string]interface{}{"one": "two"}) - const want = `{"level":"info","module":"pgx","one":"two","message":"hello"} -` - - got := buf.String() - if got != want { - t.Log(got) - t.Log(want) - t.Errorf("%s != %s", got, want) - } - }) - - var buf bytes.Buffer - type key string - var ck key - zlogger := zerolog.New(&buf) - logger := zerologadapter.NewLogger(zlogger, - zerologadapter.WithContextFunc(func(ctx context.Context, logWith zerolog.Context) zerolog.Context { - // You can use zerolog.hlog.IDFromCtx(ctx) or even - // zerolog.log.Ctx(ctx) to fetch the whole logger instance from the - // context if you want. - id, ok := ctx.Value(ck).(string) - if ok { - logWith = logWith.Str("req_id", id) - } - return logWith - }), - ) - - t.Run("no request id", func(t *testing.T) { - buf.Reset() - ctx := context.Background() - logger.Log(ctx, pgx.LogLevelInfo, "hello", nil) - const want = `{"level":"info","module":"pgx","message":"hello"} -` - got := buf.String() - if got != want { - t.Errorf("%s != %s", got, want) - } - }) - - t.Run("with request id", func(t *testing.T) { - buf.Reset() - ctx := context.WithValue(context.Background(), ck, "1") - logger.Log(ctx, pgx.LogLevelInfo, "hello", map[string]interface{}{"two": "2"}) - const want = `{"level":"info","module":"pgx","req_id":"1","two":"2","message":"hello"} -` - got := buf.String() - if got != want { - t.Errorf("%s != %s", got, want) - } - }) -}