そのため、アプリケーションのアクティビティ/エラーなどをログに記録するためにトレースを使用するアプリケーションがあります。ほとんどの情報はログファイルに記録されますが、一部のエラーはイベントビューアにも記録されます。このアプリケーションにはたくさんのクラスがあります。
この場合、TraceSourceを使用する最良の方法は何ですか?シングルトンラッピングTestSourceクラスを作成する必要がありますか、それともそれを行うためのより良い方法がありますか?
2 に答える
@Valdisにある程度同意します。log4netとNLogは、非常に強力なロギングフレームワークの2つの例であり、非常に柔軟性があり、比較的使いやすい構成を提供します(NLogはおそらくlog4netよりも構成が簡単です)。ただし、TraceSourceを完全に回避するためにそれが必要だとは思いません。TraceSourceが組み込まれているため、余分な依存関係を回避できます。
TraceSourceを使用している場合は、単一のアプリケーション全体の静的TraceSourceオブジェクトが最適だとは思いません。より多くのTraceSourceを使用することをお勧めします。おそらく、クラスごとに1つでも使用することをお勧めします(これはやり過ぎかもしれませんが、log4netとNLogを使用する場合の一般的なパターンです)。
アプリケーションで複数のTraceSourceを使用する場合について、他の質問への回答に詳細を記載しました。
組み込みの.netイベントおよびロギングインフラストラクチャを使用することを厳密にしていますか?サードパーティの一部(エンタープライズライブラリからのロギングなど)を使用することをお勧めします。これらはより柔軟で構成可能であり、次のような問題はありません。次のように記述します。
Logger.Write(...)