温斯顿轮流写入多个文件
Winston rotate writing to mutiple files
所以我正在使用 winston-daily-rotate-file。
在 app.js 我有:
var logger = require('./logger');
然后:
logger.info("logging to info");
logger.error("logging to error");
在 logger/index.js 中我有:
var error_transport = new winston.transports.DailyRotateFile({
filename: '../logs/error',
datePattern: 'yyyy-MM-dd.',
prepend: true,
level: 'error',
name: 'error'
});
var info_transport = new winston.transports.DailyRotateFile({
filename: '../logs/info',
datePattern: 'yyyy-MM-dd.',
prepend: true,
level: 'info',
name: 'info'
});
var logger = new (winston.Logger)({
transports: [
error_transport,
info_transport
]
});
module.exports = logger;
发生的是文件
logs/DATE_error
包含:
logging to error
但是:文件
logs/DATE_info
包含:
logging to info
logging to error
为什么信息文件还包含错误日志?
您可以在此处阅读有关 Winston 的日志记录级别的信息:Logging Levels
信息包含错误日志的基本原因是 "levels" 具有更高优先级的数字将始终记录任何级别的消息 "below" 它们的优先级。请参阅 Using Logging Levels
下的示例
var logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({ level: 'warn' }),
new (winston.transports.File)({ filename: 'somefile.log', level: 'error' })
]
});
logger.debug("Will not be logged in either transport!");
logger.transports.console.level = 'debug';
logger.transports.file.level = 'verbose';
logger.verbose("Will be logged in both transports!");
所以我正在使用 winston-daily-rotate-file。 在 app.js 我有:
var logger = require('./logger');
然后:
logger.info("logging to info");
logger.error("logging to error");
在 logger/index.js 中我有:
var error_transport = new winston.transports.DailyRotateFile({
filename: '../logs/error',
datePattern: 'yyyy-MM-dd.',
prepend: true,
level: 'error',
name: 'error'
});
var info_transport = new winston.transports.DailyRotateFile({
filename: '../logs/info',
datePattern: 'yyyy-MM-dd.',
prepend: true,
level: 'info',
name: 'info'
});
var logger = new (winston.Logger)({
transports: [
error_transport,
info_transport
]
});
module.exports = logger;
发生的是文件
logs/DATE_error
包含:
logging to error
但是:文件
logs/DATE_info
包含:
logging to info
logging to error
为什么信息文件还包含错误日志?
您可以在此处阅读有关 Winston 的日志记录级别的信息:Logging Levels
信息包含错误日志的基本原因是 "levels" 具有更高优先级的数字将始终记录任何级别的消息 "below" 它们的优先级。请参阅 Using Logging Levels
下的示例 var logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({ level: 'warn' }),
new (winston.transports.File)({ filename: 'somefile.log', level: 'error' })
]
});
logger.debug("Will not be logged in either transport!");
logger.transports.console.level = 'debug';
logger.transports.file.level = 'verbose';
logger.verbose("Will be logged in both transports!");