2016-09-26 10 views
0

私が消費するすべてのメッセージをMassTransitに記録したいと思います。収入メッセージを処理したり、設定を使って達成できるグローバルインターセプタを実装する方法はありますか?MassTransit:収入メッセージを記録する方法はありますか

私の現在の設定は次のようになります。

BusFactory = Bus.Factory.CreateUsingRabbitMq(cfg => 
{ 
    var host = cfg.Host(new Uri(AppSettings.RmqConnectionString), h => { }); 

    cfg.UseNLog(); 

    cfg.ReceiveEndpoint(host, RmqPropertyKeys.CallbackQueue, e=> e.LoadFrom(container)); 
}); 

答えて

2

ドキュメントは正確に、消費者に配信されたすべてのメッセージのログを行う例ミドルウェアフィルタを含みます。

http://docs.masstransit-project.com/en/latest/middleware/custom.html

あなたが好きな場合にも、内蔵のLogFilterを使用することができます。

cfg.UseLog(Console.Out, (context,logContext) => $"Format your log message"); 
+0

あなたはNLogを使用してログインした例で、あなたの答えを提供してくださいだろうか? Ty – FSou1

+0

私はどのように私はメッセージコンテンツにアクセスすることができないのか分かりません(例えば、私はカスタムミドルウェアで消費するすべてのメッセージコンテンツを記録したいと思います)。 – FSou1

+0

メッセージタイプごとにロガーを作成し、それぞれのメッセージタイプに個別に登録する必要があります。その後、コンテキストがフィルタに渡されます。 –

関連する問題