在bunyan多个日志path

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

我已经尝试通过向Bunyanlogging器实例添加额外的stream来创build第二个错误logging器,但是错误不会写入错误日志文件。 任何想法,为什么?

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

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

如果只有log.error(error); 调用在你的uncaughtException处理程序中,那么很可能错误stream在你的进程由于未捕获的exception而退出之前没有被刷新。 您可以尝试在其他地方logging错误以确认。