2017-11-20 42 views
3

저는 NodeJs 응용 프로그램에서 winston, expressWinston, winston-mongoDB를 사용하여 로그를 관리하고 있습니다.winston-mongodb, express-winston 및 winston으로 로깅

express-winston과 함께 winston-mongodb 전송을 사용하는 동안; 다음 형식으로 mongoDB 컬렉션에 로그를 저장할 수 있습니다. (메타 : TRUE)

{ 
"_id" : ObjectId("5a124f9781d911337ebeb98d"), 
"timestamp" : ISODate("2017-11-20T03:44:23.336Z"), 
"level" : "info", 
"message" : "GET /stylesheets/bootstrap.css 304 2ms", 
"meta" : { 
    "res" : { 
     "statusCode" : 304 
    }, 
    "req" : { 
     "url" : "/stylesheets/bootstrap.css", 
     "headers" : { 
      "host" : "localhost:3000", 
      "connection" : "keep-alive", 
     }, 
     "method" : "GET", 
     "httpVersion" : "1.1", 
     "originalUrl" : "/stylesheets/bootstrap.css", 
     "query" : {} 
    }, 
    "responseTime" : 2 
} 

내가 메타의 요청/응답 정보를 얻을 수 있습니다.

이러한 세부 정보는 직접 컬렉션의 일부가 될 수 있습니까? 이 같은 뭔가 :

{ 
"_id" : ObjectId("5a12537d81b6b634cb7d4696"), 
"timestamp" : ISODate("2017-11-20T04:01:01.229Z"), 
"level" : "info", 
"message" : "GET /stylesheets/bootstrap.css 304 11ms", 
"status": 200, 
"requestUrl": '/', 
"requestMethod": 'GET', 
"remoteIp": '::1' 
"meta" : {} 

} 기본 로그 기능 구현을 재정의 할 수 있습니다

+0

내가 '생각을 도움이 될 것입니다 희망 원하는대로 저장 같은 구현으로 몇 가지 문제가있는 m, 제발 내 질문을 확인하시기 바랍니다 https://stackoverflow.com/questions/48202738/logging-with-winston-mongodb-and-express-winston? 이것에 약간의 도움을 주시면 감사하겠습니다. – ozgen

답변

0

는 정확히

let logger = new winston.Logger(options); 
logger.log = function() { 
    var args = arguments; 
    // here you can transform your meta obj 
    winston.Logger.prototype.log.apply(this, args); 
}; 

가 당신에게