pandora
Version:
A powerful and lightweight application manager for Node.js applications powered by TypeScript.
68 lines • 2.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const pandora_service_logger_1 = require("pandora-service-logger");
const GlobalConfigProcessor_1 = require("../universal/GlobalConfigProcessor");
const LoggerBroker_1 = require("../universal/LoggerBroker");
/**
* Class ServiceLogger
*/
class ServiceLogger {
constructor(serviceCore) {
this.prefix = `[appName: ${serviceCore.context.appName}, processName: ${serviceCore.context.processName}, workMode: ${serviceCore.workMode}] `;
this.setupLogger(serviceCore);
}
setupLogger(serviceCore) {
const serviceId = serviceCore.getServiceId();
const globalConfig = GlobalConfigProcessor_1.GlobalConfigProcessor.getInstance().getAllProperties();
const defaultLoggerManager = pandora_service_logger_1.DefaultLoggerManager.getInstance();
if (!globalConfig.logger.isolatedServiceLogger && !ServiceLogger.commonServiceLogger) {
ServiceLogger.commonServiceLogger = defaultLoggerManager.createLogger('service', {
stdoutLevel: 'NONE',
level: 'INFO',
type: 'date',
dir: LoggerBroker_1.getAppLogDir(serviceCore.context.appName)
});
}
if (ServiceLogger.commonServiceLogger) {
this.logger = ServiceLogger.commonServiceLogger;
return;
}
this.logger = defaultLoggerManager.createLogger(serviceId, {
stdoutLevel: 'NONE',
level: 'INFO',
type: 'date',
dir: LoggerBroker_1.getAppLogDir(serviceCore.context.appName)
});
}
debug(...args) {
args = this.doPrefix(args);
this.logger.debug(...args);
}
warn(...args) {
args = this.doPrefix(args);
this.logger.warn(...args);
}
info(...args) {
args = this.doPrefix(args);
this.logger.info(...args);
}
error(...args) {
args = this.doPrefix(args);
this.logger.error(...args);
}
log(...args) {
args = this.doPrefix(args);
this.logger.info(...args);
}
write(...args) {
this.logger.write(...args);
}
doPrefix(args) {
if (typeof args[0] === 'string') {
args[0] = this.prefix + args[0];
}
return args;
}
}
exports.default = ServiceLogger;
//# sourceMappingURL=ServiceLogger.js.map