pandora
Version:
A powerful and lightweight application manager for Node.js applications powered by TypeScript.
90 lines • 3.73 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const pandora_service_logger_1 = require("pandora-service-logger");
const path_1 = require("path");
const os_1 = require("os");
const mzFs = require("mz/fs");
const ConsoleLogger = require('egg-logger').EggConsoleLogger;
exports.consoleLogger = new ConsoleLogger({
level: 'INFO',
});
let daemonLogger = null;
function getPandoraLogsDir() {
const { logger: loggerConfig } = lazyGetGlobalConfig();
return loggerConfig.logsDir;
}
exports.getPandoraLogsDir = getPandoraLogsDir;
function getDaemonLogger() {
const { logger: loggerConfig } = lazyGetGlobalConfig();
if (!daemonLogger) {
const loggerManager = pandora_service_logger_1.DefaultLoggerManager.getInstance();
daemonLogger = loggerManager.createLogger('daemon', Object.assign({}, loggerConfig.daemonLogger, { dir: path_1.join(loggerConfig.logsDir, 'pandorajs') }));
}
return daemonLogger;
}
exports.getDaemonLogger = getDaemonLogger;
function getDaemonStdoutLogPath() {
const { logger: loggerConfig } = lazyGetGlobalConfig();
return path_1.join(loggerConfig.logsDir, 'pandorajs/daemon_std.log');
}
exports.getDaemonStdoutLogPath = getDaemonStdoutLogPath;
function getDaemonLogPath() {
const { logger: loggerConfig } = lazyGetGlobalConfig();
return path_1.join(loggerConfig.logsDir, 'pandorajs/daemon.log');
}
exports.getDaemonLogPath = getDaemonLogPath;
function createAppLogger(appName, logName) {
const { logger: loggerConfig } = lazyGetGlobalConfig();
const loggerManager = pandora_service_logger_1.DefaultLoggerManager.getInstance();
return loggerManager.createLogger(logName, Object.assign({}, loggerConfig.appLogger, { dir: path_1.join(loggerConfig.logsDir, appName) }));
}
exports.createAppLogger = createAppLogger;
function getAppLogDir(appName) {
const { logger: loggerConfig } = lazyGetGlobalConfig();
return path_1.join(loggerConfig.logsDir, appName);
}
exports.getAppLogDir = getAppLogDir;
function getAppLogPath(appName, logName) {
return path_1.join(getAppLogDir(appName), logName + '.log');
}
exports.getAppLogPath = getAppLogPath;
const eolReg = new RegExp(os_1.EOL + '$');
function removeEOL(str) {
eolReg.lastIndex = 0;
return str.replace(eolReg, '');
}
exports.removeEOL = removeEOL;
function backupLog(file, newName) {
return __awaiter(this, void 0, void 0, function* () {
newName = newName || file + '.' + yyyymmdd(new Date, '-') + '-' + Date.now();
yield mzFs.rename(file, newName);
});
}
exports.backupLog = backupLog;
/**
* Prevent cycle dependencies
* @return {any}
*/
function lazyGetGlobalConfig() {
const globalConfigProcessor = require('./GlobalConfigProcessor').GlobalConfigProcessor.getInstance();
return globalConfigProcessor.getAllProperties();
}
function yyyymmdd(date, sp) {
const mm = date.getMonth() + 1;
const dd = date.getDate();
return [date.getFullYear(),
(mm > 9 ? '' : '0') + mm,
(dd > 9 ? '' : '0') + dd
].join(sp || '');
}
exports.yyyymmdd = yyyymmdd;
;
//# sourceMappingURL=LoggerBroker.js.map