UNPKG

pandora

Version:

A powerful and lightweight application manager for Node.js applications powered by TypeScript.

90 lines 3.73 kB
'use strict'; 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