Skip to content

Commit 2c0a17c

Browse files
authored
Consolidate query logging (#106)
Signed-off-by: Igor Shishkin <[email protected]>
1 parent 98c688a commit 2c0a17c

File tree

1 file changed

+52
-25
lines changed

1 file changed

+52
-25
lines changed

repositories/metadata/postgresql/postgresql.go

Lines changed: 52 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -47,26 +47,8 @@ type execRunner interface {
4747
ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error)
4848
}
4949

50-
type query interface {
51-
ToSql() (string, []interface{}, error)
52-
}
53-
54-
func mkQuery(q query) (string, []any, error) {
55-
sql, args, err := q.ToSql()
56-
if err != nil {
57-
return "", nil, err
58-
}
59-
60-
log.WithFields(log.Fields{
61-
"query": sql,
62-
"args": args,
63-
}).Tracef("SQL query generated")
64-
65-
return sql, args, nil
66-
}
67-
6850
func selectQueryRow(ctx context.Context, db queryRunner, q sq.SelectBuilder) (sq.RowScanner, error) {
69-
sql, args, err := mkQuery(q)
51+
sql, args, err := q.ToSql()
7052
if err != nil {
7153
return nil, err
7254
}
@@ -77,53 +59,98 @@ func selectQueryRow(ctx context.Context, db queryRunner, q sq.SelectBuilder) (sq
7759
"query": sql,
7860
"args": args,
7961
"duration": time.Now().Sub(start),
80-
}).Tracef("SQL query executed")
62+
}).Debug("SQL query executed")
8163
}()
8264

8365
return db.QueryRowContext(ctx, sql, args...), nil
8466
}
8567

8668
func selectQuery(ctx context.Context, db queryRunner, q sq.SelectBuilder) (*sql.Rows, error) {
87-
sql, args, err := mkQuery(q)
69+
sql, args, err := q.ToSql()
8870
if err != nil {
8971
return nil, err
9072
}
9173

74+
start := time.Now()
75+
defer func() {
76+
log.WithFields(log.Fields{
77+
"query": sql,
78+
"args": args,
79+
"duration": time.Now().Sub(start),
80+
}).Debug("SQL query executed")
81+
}()
82+
9283
return db.QueryContext(ctx, sql, args...)
9384
}
9485

9586
func insertQuery(ctx context.Context, db execRunner, q sq.InsertBuilder) (sql.Result, error) {
96-
sql, args, err := mkQuery(q)
87+
sql, args, err := q.ToSql()
9788
if err != nil {
9889
return nil, err
9990
}
10091

92+
start := time.Now()
93+
defer func() {
94+
log.WithFields(log.Fields{
95+
"query": sql,
96+
"args": args,
97+
"duration": time.Now().Sub(start),
98+
}).Debug("SQL query executed")
99+
}()
100+
101101
return db.ExecContext(ctx, sql, args...)
102102
}
103103

104104
func insertQueryRow(ctx context.Context, db queryRunner, q sq.InsertBuilder) (sq.RowScanner, error) {
105-
sql, args, err := mkQuery(q)
105+
sql, args, err := q.ToSql()
106106
if err != nil {
107107
return nil, err
108108
}
109109

110+
start := time.Now()
111+
defer func() {
112+
log.WithFields(log.Fields{
113+
"query": sql,
114+
"args": args,
115+
"duration": time.Now().Sub(start),
116+
}).Debug("SQL query executed")
117+
}()
118+
110119
return db.QueryRowContext(ctx, sql, args...), nil
111120
}
112121

113122
func updateQuery(ctx context.Context, db execRunner, q sq.UpdateBuilder) (sql.Result, error) {
114-
sql, args, err := mkQuery(q)
123+
sql, args, err := q.ToSql()
115124
if err != nil {
116125
return nil, err
117126
}
118127

128+
start := time.Now()
129+
defer func() {
130+
log.WithFields(log.Fields{
131+
"query": sql,
132+
"args": args,
133+
"duration": time.Now().Sub(start),
134+
}).Debug("SQL query executed")
135+
}()
136+
119137
return db.ExecContext(ctx, sql, args...)
120138
}
121139

122140
func deleteQuery(ctx context.Context, db execRunner, q sq.DeleteBuilder) (sql.Result, error) {
123-
sql, args, err := mkQuery(q)
141+
sql, args, err := q.ToSql()
124142
if err != nil {
125143
return nil, err
126144
}
127145

146+
start := time.Now()
147+
defer func() {
148+
log.WithFields(log.Fields{
149+
"query": sql,
150+
"args": args,
151+
"duration": time.Now().Sub(start),
152+
}).Debug("SQL query executed")
153+
}()
154+
128155
return db.ExecContext(ctx, sql, args...)
129156
}

0 commit comments

Comments
 (0)