TraceSource を使用するだけでは不十分で、他のログ ライブラリ (エンタープライズ ログ ブロック、log4net、NLog など) を検討する必要がある特定のユース ケースはありますか?
2 に答える
ログ ライブラリを使用するいくつかの理由:
1. 必要な機能または柔軟性を提供し、開発労力を節約します
次の場所にログインする場合は、Enterprise Library を使用することをお勧めします。
- Eメール
- WMI
- MSMQ
- データベース
これらは .NET TraceListeners ではサポートされていないと思います。
さらに、ローリング ファイル動作が必要な場合 (たとえば、毎日または特定のサイズの後に新しいファイルなど)、Enterprise Library、log4net などでもサポートされています。Enterprise Library を使用すると、構成を介して実行時にメッセージ形式を設定することもできますある程度の柔軟性を追加します。
2. 開発者は、カスタム アプローチよりも一般的なログ ライブラリに慣れている可能性があります。
私が携わってきたほとんどのプロジェクトでは、何らかのロギング ライブラリを使用しています。
3. 組み込みのロギング機能を超えたレベルの抽象化を提供できます
Enterprise Library ロギングの主な利点は、非常に構成しやすいことです。さまざまなロギング カテゴリの詳細を設定し、必要に応じて本番環境で変更できます。
たとえば、標準の運用構成では、エラー レベルの情報のみを Windows イベント ログに記録する場合があります (おそらく、イベント ログを監視する監視ソフトウェアがあるため)。警告または情報メッセージのログを構成することもできますが、それらは既定でオフになっています。本番環境でその情報を表示する必要がある場合、運用スタッフは、問題を診断するのに十分な時間、これらのカテゴリを有効にするだけで済みます。
もう 1 つの利点は、データベースに直接ログを記録するか、MSMQ キューを介してリモート エージェントにログを記録することにより、リモート ログが提供されることです。これにより、キューを使用してログを信頼できるものにすると同時に、ログを集中化できます。