fix(logging): knex should use pino logger (#2743)

- knex should not compile sql on error in production environments
This commit is contained in:
Iain Sproat
2024-08-23 14:44:29 +01:00
committed by GitHub
parent e2f2a71b83
commit 143c830de4
+19
View File
@@ -10,6 +10,7 @@ const {
ignoreMissingMigrations,
postgresMaxConnections
} = require('@/modules/shared/helpers/envHelper')
const { dbLogger: logger } = require('./logging/logging')
function walk(dir) {
let results = []
@@ -75,6 +76,22 @@ const commonConfig = {
loadExtensions: isTestEnv() ? ['.js', '.ts'] : ['.js'],
directory: migrationDirs
},
log: {
warn(message) {
logger.warn(message)
},
error(message) {
logger.error(message)
},
deprecate(message) {
logger.info(message)
},
debug(message) {
logger.debug(message)
}
},
// we wish to avoid leaking sql queries in the logs: https://knexjs.org/guide/#compilesqlonerror
compileSqlOnError: false,
pool: { min: 0, max: postgresMaxConnections() }
}
@@ -86,6 +103,7 @@ const config = {
connectionString: connectionUri || 'postgres://127.0.0.1/speckle2_test',
application_name: 'speckle_server'
},
compileSqlOnError: true,
asyncStackTraces: true
},
development: {
@@ -94,6 +112,7 @@ const config = {
connectionString: connectionUri || 'postgres://127.0.0.1/speckle2_dev',
application_name: 'speckle_server'
},
compileSqlOnError: true,
asyncStackTraces: true
},
production: {