如何真正将访问日志与Node.js Express中的错误日志分开?

我已经看到这个问题: loginexpressionjs到输出文件?

但是在阅读logginglogger中间件的文档后,仍然不确定如何将访问日志从错误日志中分离出来,以便访问日志只包含url访问数据,而错误日志只包含错误。

有没有办法做到这一点?

内置的连接logging器专用于一个单一目的:logging有关传入HTTP请求的基本细节。 您可以使用configuration参数来控制日志消息的确切格式,但从根本上来说,中间件是用于loggingaccess.log请求的。 要logging错误并将它们转到单独的文件,您需要编写一个error handling中间件,签名为(error, req, res, next) 。 你可以用app.use把它连接起来,并把你的错误写入一个文件或只是你想要的stderr 。 要从正常路由或中间件触发它,只需将Error实例传递给next(error)callback。