gpt4 book ai didi

node.js - 为什么在一个项目中同时使用 `morgan`和 `debug`日志包

转载 作者:搜寻专家 更新时间:2023-10-31 23:46:13 25 4
gpt4 key购买 nike

我刚刚从 express generator 创建了一个应用程序,它使用了两个记录器 debugmorgan:

/bin/www.js

const debug = require('debug')('myapp:server');
....
server.on('listening', onListening);
function onListening() {
const addr = server.address();
const bind = typeof addr === 'string'
? 'pipe ' + addr
: 'port ' + addr.port;
debug('Listening on ' + bind);
--^^^^^^^--
}

/app.js

var logger = require('morgan');
...
app.use(logger('dev'));

为什么两者都用?不能只有其中之一用于两个目的吗?

最佳答案

morgan 是一个您通常作为中间件附加的库,然后它会在请求流经您的系统时自动记录信息,尤其是关于 timing 的信息。它似乎。我认为您通常不会手动调用它来进行额外的日志记录。

debug 是您手动添加的东西,其中包含 morgan 不一定知道或关心的附加信息。您还可以通过在环境变量中使用正则表达式来打开和关闭 debug 日志记录,这对于在调试问题时将命名空间日志限制为您关心的日志非常有用。参见 here .

当然,您可以使用 debug 以与 morgan 相同的方式和相同的方式记录日志,但您必须全部手动完成(为了更好或更糟)。

关于node.js - 为什么在一个项目中同时使用 `morgan`和 `debug`日志包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41383455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com