我正在处理一个带有 node.js 后端的新项目,我的morgan
记录器工作得非常好。tiny
起初,我无法使用任何预定义的摩根模板( 、、等)从中获取任何输出,short
没有任何东西传播到输出。我提供了自定义日志记录功能来验证 morgan 在我的堆栈上是否被调用:
app.use(morgan((tokens, req, res) => {
console.log('AAAAAAAAAAA');
return 'ABABABABABAA';
}, { stream: process.stdout }));
序列AAAAAAAAAAA
确实通过colsole.log
内部日志功能传播到控制台输出(证明 morga 在每个请求上实际调用),但日志功能根本不提供它的ABABABABABA
序列。
只要我能够想象预定义的格式可能由于req
/res
对象的非常规名称而失败(顺便说一句,这不是一种情况),那么从 logger 函数返回的纯文本显然应该直接传播到输出。
编辑
将 morgan 选项设置为{immediate: true}
也不能解决问题。