2017-01-26 8 views
0

메타 데이터의 로그에 사용자 이름을 인쇄해야하는 nodejs 문제가 있습니다. 각 요청에는 고유 한 사용자 이름이 있고 nodejs는 비동기 적으로 싱글 톤 로그에 대해 작성한 사용자 이름 등록 정보를 재정의합니다.외부 라이브러리를 필요로하지 않고 log4j를 사용하여 Nodejs에 MDC를 추가하십시오.

나는 연속 로컬 저장소에 대해 읽었지만 외부 라이브러리가 필요없는 간단한 솔루션을 찾고 있습니다.

각 요청마다 별도의 로그 인스턴스를 만드는 것이 좋습니다?

추신 : 저는 Node js에 매우 익숙합니다 !!

답변

0

그냥 업데이트를 해결하는 방법을 알아 냈지만 라이브러리 연속 로컬 저장소에 의존해야했습니다.

var myses= require('continuation-local-storage').createNamespace('myses'); 

app.use(function (req, res, next) { 
    myses.bindEmitter(req); 
    myses.bindEmitter(res); 
    myses.run(function() { 
     myses.set('someid','somevalue'); 
     next(); 
     }); 
    }); 

및 사용자 정의 로거와 같은 다른 파일에

,

var thisSession = require('continuation-local-storage').getNamespace('myses'); 
thisSession .get('someid');