node.js를 사용하여 미들웨어 logger() 프레임 워크에 연결하려고합니다.Node.js Logger 사용 연결
app.use(connect.logger("dev"));
이 코드는 모든 요청마다 로그를 기록합니다. 내가 코드를 디버그하고 형식으로 로그 파일에 쓰기 (연결 로거에 의해 지원, dev 여기에). 이 디버그 문을 어디에서 logger() 메서드에 액세스 할 필요가 및 매개 변수로 내 개체를 제공하고 logger/logfile/stdout 기록하게 코드의 모든 모듈에서 수 있습니다.
그러나 logger.js (미들웨어)의 코드를 보면 stream/stdout의 로그 데이터를 res.end 객체에 쓰는 기능을 바인딩합니다. 즉, 한 번만 실행한다는 의미입니다.
코드에서 아무 곳이나 (전역 내보내기를 사용하는 경우) 처럼 로거 메서드를 호출 할 수있는 방법이 있습니까?
//test.js module
logger("some parameter")
lib 디렉토리 파일에 로거() 호출의 반환 값을 참조하십시오 내가 추적을 console.log() 문을 사용하고, 현재
return function logger(req, res, next) {
req._startTime = new Date;
// immediate
if (immediate) {
var line = fmt(exports, req, res);
if (null == line) return;
stream.write(line + '\n');
// proxy end to output logging
} else {
var end = res.end;
res.end = function(chunk, encoding){
res.end = end;
res.end(chunk, encoding);
var line = fmt(exports, req, res);
if (null == line) return;
stream.write(line + '\n');
};
}
next();
을 logger.js. 팀, 정말 고맙겠습니다.