nodejs日志功能详解

这里我们采用的是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()

你可能感兴趣的:(nodejs日志功能详解)