1
すべてのメッセージをデータベースに保存します。 RabbitMQでは、私はメイン/唯一の交換でトピック "*"(何か)を聞くためにコンシューマーを作成するだけです。EasyNetQはリスナーにすべてのメッセージを受信させたい
EasyNetQでは、新しいMessageクラスを作成するたびにロギングプロジェクトに行を追加する必要があるようです。私はこれを避けたいので、どのメッセージを送信しても、それは1つの場所でピックアップされ、将来すべての行を追加することを忘れずにデータベースに保存されます。
私は自分のロガー
class MyLogger : IEasyNetQLogger
var logger = new MyLogger(); // implements IEasyNetQLogger
_bus = RabbitHutch.CreateBus(Constants.ConnString, x => x.Register<IEasyNetQLogger>(_ => logger));
を実装しかし、受け取ったパラメータはRoutingKey、CorrelationIdを、ConsumerTag、DliveryTagおよび再配信されているようです。しかし、私は(また)文字列/テキストメッセージ自体を必要とします。
から新しいメッセージを導き出すように私はフィードバックを感謝し、あなたのロガーに
Message
プロパティにアクセスすることができます。あなたの例では、 "logger"はIEasyNetQLoggerではなくSuperMessageになります。上記のコードでロガーを実装する方法がわからない。 – Nixxon申し訳ありませんが、私は少しあなたの質問を思いついた。新しいメッセージを作成するたびに、どこに行を追加する必要がありますか?投稿されたコードにメッセージクラスが表示されませんか? – virth