From ffc82f6a2a2b5c1cb25a134212d636bf551f669c Mon Sep 17 00:00:00 2001 From: Bobby Date: Fri, 15 Apr 2022 15:30:32 +0700 Subject: [PATCH] feat: logger.debug() outputs only on dev mode --- controllers/uploadController.js | 15 ++++++++------- controllers/utilsController.js | 4 ++-- logger.js | 7 ++++++- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/controllers/uploadController.js b/controllers/uploadController.js index 0696132..7f4bff8 100644 --- a/controllers/uploadController.js +++ b/controllers/uploadController.js @@ -200,7 +200,7 @@ self.getUniqueRandomName = async (length, extension) => { continue } utils.idSet.add(identifier) - // logger.log(`Added ${identifier} to identifiers cache`) + logger.debug(`Added ${identifier} to identifiers cache`) } else if (config.uploads.queryDbForFileCollisions) { if (self.onHold.has(identifier)) continue @@ -613,22 +613,23 @@ self.cleanUpChunks = async (uuid, onTimeout) => { self.scanFiles = async (req, user, infoMap) => { if (user && utils.clamscan.groupBypass && perms.is(user, utils.clamscan.groupBypass)) { - // logger.log(`[ClamAV]: Skipping ${infoMap.length} file(s), ${utils.clamscan.groupBypass} group bypass`) + logger.debug(`[ClamAV]: Skipping ${infoMap.length} file(s), ${utils.clamscan.groupBypass} group bypass`) return false } const foundThreats = [] const results = await Promise.all(infoMap.map(async info => { if (utils.clamscan.whitelistExtensions && utils.clamscan.whitelistExtensions.includes(info.data.extname)) { - return // logger.log(`[ClamAV]: Skipping ${info.data.filename}, extension whitelisted`) + logger.debug(`[ClamAV]: Skipping ${info.data.filename}, extension whitelisted`) + return } if (utils.clamscan.maxSize && info.data.size > utils.clamscan.maxSize) { - return // logger.log(`[ClamAV]: Skipping ${info.data.filename}, size ${info.data.size} > ${utils.clamscan.maxSize}`) + logger.debug(`[ClamAV]: Skipping ${info.data.filename}, size ${info.data.size} > ${utils.clamscan.maxSize}`) + return } - const response = await utils.clamscan.instance.is_infected(info.path) - if (response.is_infected) { + logger.debug(`[ClamAV]: Scanning ${info.data.filename}\u2026`) logger.log(`[ClamAV]: ${info.data.filename}: ${response.viruses.join(', ')}`) foundThreats.push(...response.viruses) } @@ -698,7 +699,7 @@ self.storeFilesToDb = async (req, res, user, infoMap) => { if (dbFile) { // Continue even when encountering errors await utils.unlinkFile(info.data.filename).catch(logger.error) - // logger.log(`Unlinked ${info.data.filename} since a duplicate named ${dbFile.name} exists`) + logger.debug(`Unlinked ${info.data.filename} since a duplicate named ${dbFile.name} exists`) // If on /nojs route, append original file name reported by client if (req.path === '/nojs') { diff --git a/controllers/utilsController.js b/controllers/utilsController.js index 6df4325..6f4c524 100644 --- a/controllers/utilsController.js +++ b/controllers/utilsController.js @@ -396,7 +396,7 @@ self.unlinkFile = async (filename, predb) => { // Do not remove from identifiers cache on pre-db-deletion if (!predb && self.idSet) { self.idSet.delete(identifier) - // logger.log(`Removed ${identifier} from identifiers cache (deleteFile)`) + logger.debug(`Removed ${identifier} from identifiers cache (deleteFile)`) } const extname = self.extname(filename, true) @@ -466,7 +466,7 @@ self.bulkDeleteFromDb = async (field, values, user) => { unlinked.forEach(file => { const identifier = file.name.split('.')[0] self.idSet.delete(identifier) - // logger.log(`Removed ${identifier} from identifiers cache (bulkDeleteFromDb)`) + logger.debug(`Removed ${identifier} from identifiers cache (bulkDeleteFromDb)`) }) } diff --git a/logger.js b/logger.js index de42377..80e537d 100644 --- a/logger.js +++ b/logger.js @@ -45,7 +45,12 @@ self.error = (content, options = {}) => { write(content, options) } -self.debug = (...args) => { +self.debug = (content, options = {}) => { + if (process.env.NODE_ENV !== 'development') return + write(content, options) +} + +self.inspect = (...args) => { const options = { colors: true, depth: Infinity