Skip to content

Commit c0ac99f

Browse files
authored
log sql queries. (#35)
includes time
1 parent 4316de9 commit c0ac99f

3 files changed

Lines changed: 34 additions & 412 deletions

File tree

api/server.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ import (
1717
"github.com/gofiber/fiber/v2"
1818
"github.com/gofiber/fiber/v2/middleware/cors"
1919
"github.com/gofiber/fiber/v2/middleware/recover"
20+
pgxzap "github.com/jackc/pgx-zap"
2021
"github.com/jackc/pgx/v5/pgxpool"
22+
"github.com/jackc/pgx/v5/tracelog"
2123
"github.com/segmentio/encoding/json"
2224
"go.uber.org/zap"
2325
"go.uber.org/zap/zapcore"
@@ -66,7 +68,17 @@ func RequestTimer() fiber.Handler {
6668
func NewApiServer(config config.Config) *ApiServer {
6769
logger := InitLogger(config)
6870

69-
pool, err := pgxpool.New(context.Background(), config.DbUrl)
71+
connConfig, err := pgxpool.ParseConfig(config.DbUrl)
72+
if err != nil {
73+
logger.Error("db connect failed", zap.Error(err))
74+
}
75+
76+
connConfig.ConnConfig.Tracer = &tracelog.TraceLog{
77+
Logger: pgxzap.NewLogger(logger),
78+
LogLevel: tracelog.LogLevelInfo,
79+
}
80+
81+
pool, err := pgxpool.NewWithConfig(context.Background(), connConfig)
7082
if err != nil {
7183
logger.Error("db connect failed", zap.Error(err))
7284
}

go.mod

Lines changed: 7 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -10,172 +10,83 @@ require (
1010
github.com/gagliardetto/solana-go v1.12.0
1111
github.com/gofiber/contrib/fiberzap/v2 v2.1.5
1212
github.com/gofiber/fiber/v2 v2.52.6
13+
github.com/jackc/pgx-zap v0.0.0-20221202020421-94b1cb2f889f
1314
github.com/jackc/pgx/v5 v5.7.4
1415
github.com/joho/godotenv v1.5.1
1516
github.com/segmentio/encoding v0.4.1
1617
github.com/speps/go-hashids/v2 v2.0.1
1718
github.com/stretchr/testify v1.10.0
19+
github.com/tidwall/gjson v1.18.0
1820
github.com/valyala/fasthttp v1.59.0
1921
go.uber.org/zap v1.27.0
20-
golang.org/x/sync v0.12.0
22+
golang.org/x/sync v0.13.0
2123
google.golang.org/protobuf v1.36.6
2224
)
2325

2426
require (
2527
filippo.io/edwards25519 v1.0.0-rc.1 // indirect
26-
github.com/99designs/gqlgen v0.17.64 // indirect
27-
github.com/DataDog/zstd v1.5.2 // indirect
28-
github.com/Microsoft/go-winio v0.6.2 // indirect
29-
github.com/StackExchange/wmi v1.2.1 // indirect
30-
github.com/a-h/templ v0.3.819 // indirect
31-
github.com/agnivade/levenshtein v1.2.0 // indirect
32-
github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 // indirect
3328
github.com/andybalholm/brotli v1.1.1 // indirect
34-
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
35-
github.com/beorn7/perks v1.0.1 // indirect
36-
github.com/bits-and-blooms/bitset v1.17.0 // indirect
3729
github.com/blendle/zapdriver v1.3.1 // indirect
38-
github.com/btcsuite/btcd/btcec/v2 v2.3.4 // indirect
3930
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
40-
github.com/cespare/xxhash/v2 v2.3.0 // indirect
41-
github.com/cockroachdb/errors v1.11.3 // indirect
42-
github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect
43-
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
44-
github.com/cockroachdb/pebble v1.1.2 // indirect
45-
github.com/cockroachdb/redact v1.1.5 // indirect
46-
github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
4731
github.com/cometbft/cometbft v1.0.1 // indirect
48-
github.com/cometbft/cometbft-db v1.0.1 // indirect
4932
github.com/cometbft/cometbft/api v1.0.0 // indirect
50-
github.com/consensys/bavard v0.1.22 // indirect
51-
github.com/consensys/gnark-crypto v0.14.0 // indirect
5233
github.com/cosmos/gogoproto v1.7.0 // indirect
53-
github.com/crate-crypto/go-ipa v0.0.0-20240724233137-53bbb0ceb27a // indirect
54-
github.com/crate-crypto/go-kzg-4844 v1.1.0 // indirect
5534
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
56-
github.com/deckarep/golang-set/v2 v2.6.0 // indirect
5735
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
58-
github.com/dgraph-io/badger/v4 v4.5.1 // indirect
59-
github.com/dgraph-io/ristretto/v2 v2.1.0 // indirect
60-
github.com/dustin/go-humanize v1.0.1 // indirect
61-
github.com/ethereum/c-kzg-4844 v1.0.0 // indirect
62-
github.com/ethereum/go-verkle v0.2.2 // indirect
6336
github.com/fatih/color v1.18.0 // indirect
6437
github.com/felixge/httpsnoop v1.0.4 // indirect
65-
github.com/fsnotify/fsnotify v1.7.0 // indirect
6638
github.com/gagliardetto/treeout v0.1.4 // indirect
67-
github.com/getsentry/sentry-go v0.27.0 // indirect
68-
github.com/go-gorp/gorp/v3 v3.1.0 // indirect
6939
github.com/go-kit/log v0.2.1 // indirect
7040
github.com/go-logfmt/logfmt v0.6.0 // indirect
7141
github.com/go-logr/logr v1.4.2 // indirect
7242
github.com/go-logr/stdr v1.2.2 // indirect
73-
github.com/go-ole/go-ole v1.3.0 // indirect
74-
github.com/go-openapi/analysis v0.23.0 // indirect
75-
github.com/go-openapi/errors v0.22.0 // indirect
76-
github.com/go-openapi/jsonpointer v0.21.0 // indirect
77-
github.com/go-openapi/jsonreference v0.21.0 // indirect
78-
github.com/go-openapi/loads v0.22.0 // indirect
79-
github.com/go-openapi/runtime v0.28.0 // indirect
80-
github.com/go-openapi/spec v0.21.0 // indirect
81-
github.com/go-openapi/strfmt v0.23.0 // indirect
82-
github.com/go-openapi/swag v0.23.0 // indirect
83-
github.com/go-openapi/validate v0.24.0 // indirect
84-
github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
85-
github.com/gogo/protobuf v1.3.2 // indirect
86-
github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
87-
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
8843
github.com/golang/protobuf v1.5.4 // indirect
89-
github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect
90-
github.com/google/btree v1.1.3 // indirect
91-
github.com/google/flatbuffers v24.12.23+incompatible // indirect
9244
github.com/google/go-cmp v0.7.0 // indirect
9345
github.com/google/go-querystring v1.1.0 // indirect
94-
github.com/google/orderedcode v0.0.1 // indirect
9546
github.com/google/uuid v1.6.0 // indirect
96-
github.com/gorilla/websocket v1.5.3 // indirect
9747
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect
98-
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
99-
github.com/holiman/uint256 v1.3.2 // indirect
100-
github.com/iancoleman/strcase v0.3.0 // indirect
10148
github.com/holiman/uint256 v1.3.2 // indirect
10249
github.com/jackc/pgpassfile v1.0.0 // indirect
10350
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
10451
github.com/jackc/puddle/v2 v2.2.2 // indirect
105-
github.com/jmhodges/levigo v1.0.0 // indirect
106-
github.com/josharian/intern v1.0.0 // indirect
10752
github.com/json-iterator/go v1.1.12 // indirect
10853
github.com/klauspost/compress v1.18.0 // indirect
109-
github.com/kr/pretty v0.3.1 // indirect
110-
github.com/kr/text v0.2.0 // indirect
111-
github.com/labstack/echo/v4 v4.12.0 // indirect
112-
github.com/labstack/gommon v0.4.2 // indirect
113-
github.com/lib/pq v1.10.9 // indirect
114-
github.com/linxGnu/grocksdb v1.9.3 // indirect
11554
github.com/logrusorgru/aurora v2.0.3+incompatible // indirect
116-
github.com/mailru/easyjson v0.7.7 // indirect
11755
github.com/mattn/go-colorable v0.1.14 // indirect
11856
github.com/mattn/go-isatty v0.0.20 // indirect
11957
github.com/mattn/go-runewidth v0.0.16 // indirect
120-
github.com/minio/highwayhash v1.0.3 // indirect
12158
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
122-
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
123-
github.com/mmcloughlin/addchain v0.4.0 // indirect
12459
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
12560
github.com/modern-go/reflect2 v1.0.2 // indirect
12661
github.com/mostynb/zstdpool-freelist v0.0.0-20201229113212-927304c0c3b1 // indirect
12762
github.com/mr-tron/base58 v1.2.0 // indirect
128-
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
12963
github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a // indirect
130-
github.com/oklog/ulid v1.3.1 // indirect
131-
github.com/opentracing/opentracing-go v1.2.0 // indirect
13264
github.com/petermattis/goid v0.0.0-20250319124200-ccd6737f222a // indirect
13365
github.com/pkg/errors v0.9.1 // indirect
13466
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
135-
github.com/prometheus/client_golang v1.20.5 // indirect
136-
github.com/prometheus/client_model v0.6.1 // indirect
137-
github.com/prometheus/common v0.62.0 // indirect
138-
github.com/prometheus/procfs v0.15.1 // indirect
139-
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
14067
github.com/rivo/uniseg v0.4.7 // indirect
14168
github.com/rogpeppe/go-internal v1.14.1 // indirect
142-
github.com/rs/cors v1.11.1 // indirect
143-
github.com/rubenv/sql-migrate v1.7.0 // indirect
14469
github.com/sasha-s/go-deadlock v0.3.5 // indirect
14570
github.com/segmentio/asm v1.2.0 // indirect
146-
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect
147-
github.com/sosodev/duration v1.3.1 // indirect
14871
github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect
14972
github.com/supranational/blst v0.3.14 // indirect
150-
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect
151-
github.com/tklauser/go-sysconf v0.3.12 // indirect
152-
github.com/tklauser/numcpus v0.6.1 // indirect
153-
github.com/tidwall/gjson v1.18.0 // indirect
15473
github.com/tidwall/match v1.1.1 // indirect
15574
github.com/tidwall/pretty v1.2.1 // indirect
15675
github.com/valyala/bytebufferpool v1.0.0 // indirect
157-
github.com/valyala/fasttemplate v1.2.2 // indirect
158-
github.com/vektah/gqlparser/v2 v2.5.22 // indirect
159-
go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect
16076
go.mongodb.org/mongo-driver v1.14.0 // indirect
161-
go.opencensus.io v0.24.0 // indirect
16277
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
16378
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 // indirect
16479
go.opentelemetry.io/otel v1.34.0 // indirect
16580
go.opentelemetry.io/otel/metric v1.34.0 // indirect
16681
go.opentelemetry.io/otel/trace v1.34.0 // indirect
16782
go.uber.org/multierr v1.11.0 // indirect
168-
go.uber.org/ratelimit v0.2.0 // indirect
169-
golang.org/x/crypto v0.36.0 // indirect
170-
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
83+
golang.org/x/crypto v0.37.0 // indirect
17184
golang.org/x/net v0.38.0 // indirect
172-
golang.org/x/sys v0.31.0 // indirect
173-
golang.org/x/term v0.30.0 // indirect
174-
golang.org/x/text v0.23.0 // indirect
175-
golang.org/x/time v0.9.0 // indirect
85+
golang.org/x/sys v0.32.0 // indirect
86+
golang.org/x/term v0.31.0 // indirect
87+
golang.org/x/text v0.24.0 // indirect
17688
google.golang.org/genproto/googleapis/api v0.0.0-20250324211829-b45e905df463 // indirect
17789
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
17890
google.golang.org/grpc v1.71.1 // indirect
17991
gopkg.in/yaml.v3 v3.0.1 // indirect
180-
rsc.io/tmplfunc v0.0.3 // indirect
18192
)

0 commit comments

Comments
 (0)