Skip to content

Commit f23559c

Browse files
committed
feat(utils): improve logger
1 parent 828f295 commit f23559c

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

packages/sqlite-utils/src/logger.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,23 @@ export function createKyselyLogger(
4949

5050
return (event: LogEvent) => {
5151
const { level, queryDurationMillis, query: { parameters, sql, query } } = event
52+
const questionMarker = '__Q__'
5253
const err = level === 'error' ? event.error : undefined
5354
let _sql = sql.replace(/\r?\n/g, ' ').replace(/\s+/g, ' ')
5455
if (merge) {
5556
parameters.forEach((param) => {
56-
_sql = _sql.replace('?', JSON.stringify(param))
57+
let data: any = param
58+
if (param instanceof Date) {
59+
data = param.toLocaleString()
60+
}
61+
if (typeof data === 'string') {
62+
data = `'${data}'`.replace(/\?/g, questionMarker)
63+
}
64+
_sql = _sql.replace(/\?/, data)
5765
})
5866
}
5967
const param: LoggerParams = {
60-
sql: _sql,
68+
sql: _sql.replace(new RegExp(questionMarker, 'g'), '?'),
6169
params: parameters,
6270
duration: queryDurationMillis,
6371
error: err,

0 commit comments

Comments
 (0)