0
express.js 로거에 실패한 요청 만 기록하는 방법이 있습니까?Express.js - 실패한 요청 만 로깅
예. 4xx 및 5xx는 기록하지만 3xx 결과는 기록하지 않습니까?
express.js 로거에 실패한 요청 만 기록하는 방법이 있습니까?Express.js - 실패한 요청 만 로깅
예. 4xx 및 5xx는 기록하지만 3xx 결과는 기록하지 않습니까?
나는 그렇게 할 수있는 쉬운 방법을 발견하지 않은,하지만 난이 함께했다 : 가 compile()
이 connect/lib/middleware/logger.js
에서 가져
function compile(fmt) {
fmt = fmt.replace(/"/g, '\\"');
var js = ' return "' + fmt.replace(/:([-\w]{2,})(?:\[([^\]]+)\])?/g, function(_, name, arg){
return '"\n + (tokens["' + name + '"](req, res, "' + arg + '") || "-") + "';
}) + '";'
return new Function('tokens, req, res', js);
};
var formatter = compile(express.logger.default); // or another format, like '.tiny', '.dev'
app.use(express.logger(function(tokens, req, res) {
if (res.statusCode === 200 || res.statusCode >= 400) // or whatever you want logged
return formatter(tokens, req, res);
return null;
}));
, 그것은 슬프게도 수출되지 않도록 사용할 수 없습니다 외부 적으로, 나는 그것을 복사했다. 물론 생성하고 사용하는 기능을 직접 사용할 수도 있지만 로깅 형식을 쉽게 전환 할 수 있습니다.
오, 재미 있습니다. 고마워요. – UpTheCreek