Semantic Logging Application Block (SLAB) は私にとって非常に魅力的であり、私が作成している大規模な複合アプリケーションで使用したいと考えています。これを使用するには、'EventSource' から派生したクラスを作成し、単純な文字列ではなく、型指定されたイベントとしてログに記録するイベントごとに 1 つのメソッドをクラスに含めます。
私のようなアプリケーションには、そのようなイベントが何百もある可能性があります。「SomethingHappened」という 1 つのイベントだけを含む「EventSource」ベースのクラスを作成し、それを介してすべてをログに記録し、労力と正確さのスペクトルの極端な端に置き、実行する操作ごとに 1 つのイベントを作成することができます。
さまざまな機能領域に EventSource の派生物を用意するのは良い考えだと思います。アプリは、ビジネス ロジック自体をほとんど知りません。これはすべて MEF プラグイン モジュールによって提供されるため、ブートラップ、セキュリティ、構成変更などのイベント ソースを使用できます。プラグイン モジュールは、ログに記録するイベントのイベント ソースを定義できます。
これは良い戦略ですか、それとも多くのEventSource
派生ロガーはアプリの望ましくない機能ですか?