2017-01-26 5 views
0

私はメタデータのログにユーザー名を印刷する必要があるnodejsの問題に直面しています。各リクエストには、独自のユーザー名とnodejが非同期であるため、シングルトンログ用に作成したusernameプロパティがオーバーライドされます。外部ライブラリを必要とせずにlog4jでNodejsにMDCを追加してください

私は連続ローカルストレージについては読んだことがありますが、私は外部ライブラリを必要とせずにシンプルなソリューションを探しています。

リクエストごとに個別のログインスタンスを作成することをお勧めしますか?

P .:新しいノード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'); 
のようないくつかの他のファイル、で
関連する問題