Bunyan中的多个日志路径

时间:2014-08-04 11:44:35

标签: node.js logging error-logging restify bunyan

我正在使用Bunyan with Restify来创建一个access.log,它将存储有关请求的信息,例如端点,状态代码等......但是,我想将错误与此文件分开并存储它们在一个单独的日志文件中。

我尝试通过向Bunyan记录器实例添加额外的流来创建第二个错误记录器,但是错误没有写入错误日志文件。任何想法为什么会这样?

var log = new Logger({
  name: 'logga',
  streams: [
    {
      stream: process.stdout,
      level: 'debug'
    },
    {
      path: './logs/access.log',
      level: 'trace'
    },
    {
      path: './logs/error.log',
      level: 'error'
    }
  ],
  serializers: Logger.stdSerializers
});

server.on('uncaughtException', function (request, response, route, error) {
  log.error(error);
});

2 个答案:

答案 0 :(得分:0)

您可以删除serializers: Logger.stdSerializers。那应该解决它。

答案 1 :(得分:0)

如果log.error(error);处理程序中只有uncaughtException调用,则很可能在您的进程因未捕获的异常而退出之前,错误流未被刷新。您可以尝试在其他地方记录错误以确认。