这里我们采用的是log4js模块来实现日志记录的功能
log4js = require("log4js");
log4js.configure({
appenders: [
{ type: 'console' }, //控制台输出
{
type: 'file', //文件保存
filename: 'logs/access.log',
maxLogSize:1024*100,
backups:4
}
],
replaceConsole: true
});
logger = log4js.getLogger("normal");
app.use(log4js.connectLogger(logger, {
level: log4js.levels.TRACE
}));
index.js文件如果需要调用错误处理日志,则通过
var logger = require('../app').logger('index');
来调用
exports.logger=function(name){
var logger = log4js.getLogger(name);
logger.setLevel('TRACE');
return logger;
}
当服务器进程异常时记录错误日志
process.on('uncaughtException', function(err){
logger.info(err.stack);
});
路由里的错误日志
app.use(function(err, req, res, next) {
logger.info(err.stack);
return res.status(err.status || 500).end();
});
其他地方的日志使用logger.info()来替代console.log()