Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 班扬的多日志路径_Node.js_Logging_Error Logging_Restify_Bunyan - Fatal编程技术网

Node.js 班扬的多日志路径

Node.js 班扬的多日志路径,node.js,logging,error-logging,restify,bunyan,Node.js,Logging,Error Logging,Restify,Bunyan,我正在使用Bunyan和Restify创建一个access.log,它将存储有关请求的信息,例如端点、状态代码等。。。但是,我想将错误从这个文件中分离出来,并将它们存储在一个单独的日志文件中 我已经尝试通过向Bunyan logger实例添加额外的流来创建第二个错误记录器,但是没有将错误写入错误日志文件。你知道为什么吗 var log = new Logger({ name: 'logga', streams: [ { stream: process.stdout,

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

我已经尝试通过向Bunyan logger实例添加额外的流来创建第二个错误记录器,但是没有将错误写入错误日志文件。你知道为什么吗

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);
});

您可以删除
序列化程序:Logger.stdSerializers
。这应该可以解决它。

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