抑制来自 Supertest 的 REST 日志记录调用
Suppress REST Logging Calls from Supertest
我已经开始使用 MEAN 堆栈,目前正在使用 Super Test 编写 REST 单元测试
我想让我的日志文件更清楚一点,这样我就可以轻松地看到我成功和失败的测试。
我希望抑制实际剩余 API 调用的控制台输出,我认为它来自 SuperTest。
这张图片显示了我要隐藏的日志。
我认为它实际上来自 expressjs/morgan。我通过将 env 设置为 test 并为测试 env 禁用 morgan 来绕过它。
在我的测试文件中:
process.env.NODE_ENV = 'test';
在app.js中:
if(app.get('env') !== 'test') app.use(logger('dev'));
您可以设置 morgan 接受跳过功能。
然后,例如,您可以切换环境变量 on/off - 或者定义您自己的跳过逻辑以暂时关闭日志记录。
app.use(
logger('dev', {
skip: function(req, res) {
return process.env.MUTE_LOGGER === 'on';
},
}),
);
我已经开始使用 MEAN 堆栈,目前正在使用 Super Test 编写 REST 单元测试
我想让我的日志文件更清楚一点,这样我就可以轻松地看到我成功和失败的测试。
我希望抑制实际剩余 API 调用的控制台输出,我认为它来自 SuperTest。
这张图片显示了我要隐藏的日志。
我认为它实际上来自 expressjs/morgan。我通过将 env 设置为 test 并为测试 env 禁用 morgan 来绕过它。
在我的测试文件中:
process.env.NODE_ENV = 'test';
在app.js中:
if(app.get('env') !== 'test') app.use(logger('dev'));
您可以设置 morgan 接受跳过功能。
然后,例如,您可以切换环境变量 on/off - 或者定义您自己的跳过逻辑以暂时关闭日志记录。
app.use(
logger('dev', {
skip: function(req, res) {
return process.env.MUTE_LOGGER === 'on';
},
}),
);