2017-11-20 12 views
3

私はNodeJsアプリケーションのログを管理するためにwinston、expressWinston、winston-mongoDBを使用しています。winston-mongodb、express-winston、winstonでのログ

express-winstonでwinston-mongodb transportを使用しているとき。私は次の形式でログを自分の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

を助けることを願っています好きな節約するために、デフォルトのログ機能の実装をオーバーライドすることができます私は同じ実装でいくつかの問題を抱えています、あなたは私の質問をここで確認してくださいできますか?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); 
}; 

が、それはあなたに私は「アイデア

関連する問題