Рефакторинг
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
const BaseController = require('./BaseController');
|
||||
const log = require('../core/getLogger').getLog();
|
||||
const _ = require('lodash');
|
||||
|
||||
class MiscController extends BaseController {
|
||||
|
||||
49
server/core/AppLogger.js
Normal file
49
server/core/AppLogger.js
Normal file
@@ -0,0 +1,49 @@
|
||||
const fs = require('fs-extra');
|
||||
const Logger = require('./Logger');
|
||||
|
||||
let instance = null;
|
||||
|
||||
//singleton
|
||||
class AppLogger {
|
||||
constructor() {
|
||||
if (!instance) {
|
||||
instance = this;
|
||||
}
|
||||
|
||||
this.inited = false;
|
||||
return instance;
|
||||
}
|
||||
|
||||
init(config) {
|
||||
if (this.inited)
|
||||
throw new Error('already inited');
|
||||
|
||||
let loggerParams = null;
|
||||
|
||||
if (config.loggingEnabled) {
|
||||
fs.ensureDirSync(config.logDir);
|
||||
loggerParams = [
|
||||
{log: 'ConsoleLog'},
|
||||
{log: 'FileLog', fileName: `${config.logDir}/${config.name}.log`},
|
||||
];
|
||||
}
|
||||
|
||||
this._logger = new Logger(loggerParams);
|
||||
|
||||
this.inited = true;
|
||||
return this.logger;
|
||||
}
|
||||
|
||||
get logger() {
|
||||
if (this.inited)
|
||||
return this._logger;
|
||||
throw new Error('not inited');
|
||||
}
|
||||
|
||||
get log() {
|
||||
const l = this.logger;
|
||||
return l.log.bind(l);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = AppLogger;
|
||||
@@ -6,7 +6,7 @@ const FileDownloader = require('./FileDownloader');
|
||||
const FileDecompressor = require('./FileDecompressor');
|
||||
const BookConverter = require('./BookConverter');
|
||||
const utils = require('./utils');
|
||||
const log = require('./getLogger').getLog();
|
||||
const log = new (require('./AppLogger'))().log;//singleton
|
||||
|
||||
let singleCleanExecute = false;
|
||||
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
const fs = require('fs-extra');
|
||||
const Logger = require('./Logger');
|
||||
|
||||
let logger = null;
|
||||
|
||||
function initLogger(config) {
|
||||
if (logger)
|
||||
logger.close();
|
||||
|
||||
let loggerParams = null;
|
||||
|
||||
if (config.loggingEnabled) {
|
||||
fs.ensureDirSync(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,
|
||||
};
|
||||
@@ -1,7 +1,7 @@
|
||||
const fs = require('fs-extra');
|
||||
|
||||
const SqliteConnectionPool = require('./SqliteConnectionPool');
|
||||
const log = require('../core/getLogger').getLog();
|
||||
const log = new (require('../core/AppLogger'))().log;//singleton
|
||||
|
||||
const migrations = {
|
||||
'app': require('./migrations/app'),
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const log = require('./core/getLogger').getLog();
|
||||
const log = new (require('./core/AppLogger'))().log;//singleton
|
||||
|
||||
function webpackDevMiddleware(app) {
|
||||
const webpack = require('webpack');
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const config = require('./config');
|
||||
const logger = require('./core/getLogger');
|
||||
logger.initLogger(config);
|
||||
const log = logger.getLog();
|
||||
const appLogger = new (require('./core/AppLogger'))();//singleton
|
||||
appLogger.init(config);
|
||||
const log = appLogger.log;
|
||||
|
||||
const configSaver = require('./config/configSaver');
|
||||
const argv = require('minimist')(process.argv.slice(2));
|
||||
|
||||
Reference in New Issue
Block a user