loggers-factory
Version:
Javascript package that makes the use of loggers a breath.
34 lines (29 loc) • 706 B
JavaScript
const DailyRotateFile = require("winston-daily-rotate-file");
const rotate = require("./rotate.js");
const { create_path } = require("tools-factory");
module.exports = function({
name,
level,
logs_path,
format,
date_pattern,
max_size,
max_files,
on_limit
}) {
// Create the directories if they don't exist yet.
create_path(logs_path);
const log_transport = new DailyRotateFile({
format: format,
level: level,
filename: `${name}.log.%DATE%`,
dirname: logs_path,
datePattern: date_pattern,
maxsize: max_size,
maxFiles: max_files
});
log_transport.on("rotate", (old_file_path, new_file_path) => {
rotate(old_file_path, new_file_path, on_limit);
});
return log_transport;
};