diff --git a/server/core/getLogger.js b/server/core/getLogger.js new file mode 100644 index 00000000..a37a33cf --- /dev/null +++ b/server/core/getLogger.js @@ -0,0 +1,40 @@ +const utils = require('./utils'); +const Logger = require('./Logger'); + +let logger = null; + +function initLogger(config) { + if (logger) + logger.close(); + + let loggerParams = null; + + if (config.loggingEnabled) { + utils.mkDirIfNotExistsSync(config.logDir); + loggerParams = [ + {log: 'ConsoleLog'}, + {log: 'FileLog', fileName: `${config.logDir}/${config.name}.log`}, + ]; + } + + logger = new Logger(loggerParams); + + return logger; +} + +function getLogger() { + if (logger) + return logger; + throw new Error('getLogger error: logger not initialized'); +} + +function getLog() { + const l = getLogger(); + return l.log.bind(l); +} + +module.exports = { + initLogger, + getLogger, + getLog, +}; \ No newline at end of file diff --git a/server/core/loggerInit.js b/server/core/loggerInit.js deleted file mode 100644 index 200cf86e..00000000 --- a/server/core/loggerInit.js +++ /dev/null @@ -1,16 +0,0 @@ -const utils = require('./utils'); -const Logger = require('./Logger'); - -module.exports = function(config) { - let loggerParams = null; - - if (config.loggingEnabled) { - utils.mkDirIfNotExistsSync(config.logDir); - loggerParams = [ - {log: 'ConsoleLog'}, - {log: 'FileLog', fileName: `${config.logDir}/${config.name}.log`}, - ]; - } - - return new Logger(loggerParams); -} \ No newline at end of file diff --git a/server/index.js b/server/index.js index 93801e9a..c4e37935 100644 --- a/server/index.js +++ b/server/index.js @@ -1,24 +1,26 @@ +const config = require('./config/config'); +const {initLogger, getLog} = require('./core/getLogger'); +initLogger(config); +const log = getLog(); + const express = require('express'); const app = express(); -const config = require('./config/config'); -const logger = require('./core/loggerInit')(config); - const SqliteConnectionPool = require('./core/SqliteConnectionPool'); async function main() { const connPool = new SqliteConnectionPool(20, config); - logger.log('Opening database'); + log('Opening database'); await connPool.init(); app.use(express.static('public')); app.use(express.json()); - require('./routes')(app, connPool, logger, config); + require('./routes').initRoutes(app, connPool, config); app.listen(config.port, config.ip, function() { - logger.log('Server is ready'); + log('Server is ready'); }); } diff --git a/server/routes.js b/server/routes.js index 3fa582a7..761fb0b2 100644 --- a/server/routes.js +++ b/server/routes.js @@ -1,2 +1,8 @@ -module.exports = function(app, connPool, logger, config) { +const log = require('./core/getLogger').getLog(); + +function initRoutes(app, connPool, config) { }; + +module.exports = { + initRoutes +}