2

我正在使用带有 Restify 的 Bunyan 创建一个 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);
});
4

2 回答 2

0

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

于 2014-12-09T07:30:16.393 回答
0

如果唯一的log.error(error);调用是在您的uncaughtException处理程序中,那么由于未捕获的异常,很可能在您的进程退出之前错误流没有被刷新。您可以尝试在其他地方记录错误以确认这一点。

于 2015-07-17T11:31:47.827 回答