我正在尝试使用Winston登录节点。
我想在控制台中记录production
模式的异常,同时记录development
模式的所有事件。
这是我的logger.js文件
const winston = require('winston');
const path = require('path');
//Get logging level
const level = process.env.log || 'debug';
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
function printf (info) {
return `${info.timestamp} ${info.level} [${info.label}]: ${info.message}`
}
const logger = winston.createLogger({
exitOnError: false,
level: level,
format: winston.format.combine(
winston.format.label({ label: path.basename(process.mainModule.filename) }),
winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' })
),
exceptionHandlers: [
new winston.transports.Console({
handleExceptions: true,
format: winston.format.combine(
winston.format.colorize(),
winston.format.printf(info => `${printf(info)}` )
)
}),
]
});
if(process.env.NODE_ENV === 'development')
logger.add(
new winston.transports.Console({
format: winston.format.combine(
winston.format.colorize(),
winston.format.printf(info => `${printf(info)}` )
)
})
);
module.exports = logger;
不幸的是,每当我尝试记录未处理的异常时,我所看到的只是控制台中的undefined
而没有任何错误详细信息。
有人可以帮忙吗?