@ones-op/node-host
Version:
ONES Open Platform Node.js plugin host
30 lines (29 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.logger = exports.createPluginLogger = void 0;
const config_1 = require("../config");
const winston_1 = require("winston");
const level_1 = require("./level");
const logfmt_1 = require("./logfmt");
const serialize_1 = require("./serialize");
const { combine, printf } = winston_1.format;
const createPluginLogger = (plugin) => {
const transportsList = [];
transportsList.push(new winston_1.transports.Console());
if (config_1.config.host.debug_mode && config_1.config.host.log_file_path) {
transportsList.push(new winston_1.transports.File({
filename: config_1.config.host.log_file_path,
options: { flags: 'w' }, // turn off append mode
}));
}
const formatMiddleware = [new serialize_1.Serialize(), printf((0, logfmt_1.printfLogfmt)(plugin))];
const logger = (0, winston_1.createLogger)({
level: config_1.config.log_level,
levels: level_1.LEVELS,
format: combine(...formatMiddleware),
transports: transportsList,
});
return logger;
};
exports.createPluginLogger = createPluginLogger;
exports.logger = (0, exports.createPluginLogger)();