From 143c830de46efaeb603d295ff4b5162d0f52f2c4 Mon Sep 17 00:00:00 2001 From: Iain Sproat <68657+iainsproat@users.noreply.github.com> Date: Fri, 23 Aug 2024 14:44:29 +0100 Subject: [PATCH] fix(logging): knex should use pino logger (#2743) - knex should not compile sql on error in production environments --- packages/server/knexfile.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/server/knexfile.js b/packages/server/knexfile.js index 6a29fc636..5a9a93501 100644 --- a/packages/server/knexfile.js +++ b/packages/server/knexfile.js @@ -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: {