Merge pull request #2102 from selfhost-alt/sqlite-query-logging

Add ability to enable DEV logs of Sqlite queries
This commit is contained in:
advplyr 2023-09-22 16:17:32 -05:00 committed by GitHub
commit 97b0b98605
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -166,10 +166,25 @@ class Database {
*/
async connect() {
Logger.info(`[Database] Initializing db at "${this.dbPath}"`)
let logging = false
let benchmark = false
if (process.env.QUERY_LOGGING === "log") {
// Setting QUERY_LOGGING=log will log all Sequelize queries before they run
Logger.info(`[Database] Query logging enabled`)
logging = (query) => Logger.dev(`Running the following query:\n ${query}`)
} else if (process.env.QUERY_LOGGING === "benchmark") {
// Setting QUERY_LOGGING=benchmark will log all Sequelize queries and their execution times, after they run
Logger.info(`[Database] Query benchmarking enabled"`)
logging = (query, time) => Logger.dev(`Ran the following query in ${time}ms:\n ${query}`)
benchmark = true
}
this.sequelize = new Sequelize({
dialect: 'sqlite',
storage: this.dbPath,
logging: false,
logging: logging,
benchmark: benchmark,
transactionType: 'IMMEDIATE'
})