当使用作为 Connect(以及 Express)一部分的记录器中间件时,我希望能够禁用某些请求的日志记录,例如通过在响应上设置标志或其他方式。
我设法做到了:
res.doNotLog = true;
然后,深入 logger.js(连接模块的一部分),我把
if(res.doNotLog) return;
在正确的地方。但我当然不想修改模块本身的代码。有什么方法可以让我在不必破解模块的情况下发生同样的事情?
编辑:
这有效:
var app = _express.createServer();
// set 'hello' routing...note that this is before middleware
// so it won't be logged
app.get('/sayhello', function(req, res) {res.send("hey");});
// configure middleware: logging, static file serving
app.configure(function() {
app.use(_express.logger());
app.use(_express.static(__dirname + '/www'));
});
// set 'goodbye' routing...note that this is after middleware
// so it will be logged
app.get('/saygoodbye', function(req, res) {res.send("later...");});