loggers-factory
Version:
Javascript package that makes the use of loggers a breath.
31 lines (23 loc) • 972 B
JavaScript
const winston = require("winston");
const get_console_transport = require("./get_console_transport.js");
const get_log_transport = require("./get_log_transport.js");
const merge_parameters = require("./merge_parameters.js");
function get_logger(params = {}) {
// We merge the given params with the default parameters.
const parameters = merge_parameters(params);
const transports = [];
if (process.env.NODE_ENV !== "PRODUCTION") {
// peut etre ajouter une option si on veut en production aussi
transports.push(get_console_transport(parameters.transport.console));
}
for (const transport_dict of Object.values(parameters.transport.logs)) {
// peut etre que je peut direct ajouter le level et le format ici
transports.push(get_log_transport(transport_dict));
}
const logger = winston.createLogger({
transports: transports
});
winston.addColors(parameters.level_design);
return logger;
}
module.exports = get_logger;