Add ability to enable DEV logs of Sqlite queries

This commit is contained in:
Selfhost Alt 2023-09-14 22:52:43 -07:00
parent ab97a9d613
commit b1524d245e

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: ${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: ${query}`)
benchmark = true;
}
this.sequelize = new Sequelize({
dialect: 'sqlite',
storage: this.dbPath,
logging: false,
logging: logging,
benchmark: benchmark,
transactionType: 'IMMEDIATE'
})