【发布时间】:2019-01-03 22:46:47
【问题描述】:
我在节点中使用 Winston 库来记录错误日志。现在我想要的是动态创建多个记录器文件。
我使用的代码是this
const fs = require("fs");
const winston = require("winston");
const logDir = "log";
if (!fs.existsSync(logDir)) {
fs.mkdirSync(logDir);
}
const tsFormat = () => (new Date()).toLocaleTimeString();
module.exports = logger = winston.createLogger({
transports: [
new (winston.transports.Console)({
format: winston.format.combine(
winston.format.colorize(),
winston.format.timestamp(),
winston.format.align(),
winston.format.simple(),
),
level: 'info'
}),
new (require("winston-daily-rotate-file"))({
filename: `${logDir}/-results.log`,
format: winston.format.combine(
winston.format.timestamp(),
winston.format.json(),
)
}),
new winston.transports.File({
filename: 'log/error.log',
level: 'error',
format: winston.format.combine(
winston.format.timestamp(),
winston.format.simple(),
)
}),
]
});
如果我传递一个文件名调用记录器,我需要类似的东西
logger.info(`Test info Log!`,'filename');
它应该以这个文件名记录文件。如果文件不存在,它会创建它并附加该文件中的所有内容
【问题讨论】:
-
创建多个记录器:github.com/winstonjs/…