Javaの世界では、log4jとかなりまともなロギングフレームワークがありますが、C#/。NETのようなものはありますか?
log4net は明らかな答えです。
http://www.nlog-project.org/ -NLog
これは、非常に軽量で、非常に柔軟で構成可能なロギングツールです。多くの異なる場所(コンソール、SQL、ファイルなど)にログを記録するように設定できます。とても使いやすい。
Rob ConneryのStorefront MVCプロジェクトでも使用されています... http://blog.wekeroad.com/mvc-storefront/
単純な非膨張ソリューション(ダウンロードは約100K、実際のDLLは約40K)を探している場合、私はいくつかのプロジェクトで BitFactory を使用して成功しています。
小さく、設定可能で、信頼性が高く、無料です!
Enterprise Library Logging Application Block を試してください
ここでも言及した他のいくつかを使用しましたが、調査する価値があります。
nLog もあります。これはかなり似ていますが、構成が少なくて少し軽量です。
コメント here は、開発者Dudeおよびnzpcmadにも同意しているようです。I/ Object Guyのログフレームワーク とも呼ばれるビットファクトリを使用します。
他のいくつかの場所で述べたように、ここでは Object Guyのログフレームワーク について他の人に同意します。開発者デュードが言うように、それは肥大化していません-他のいくつかのフレームワークのように。それは私たちのすべての本番アプリケーションで機能し、数年前からそうしています。
私たちは常にMS P&P Enterprise Library Logging Application Blockを使用してきました。特にクールでもエレガントでもありませんが、かなり柔軟でよく設計されています。私がそれを使用する主な理由は、ELの他の多くのコンポーネントを使用していることであり、もちろんそれらはすべてロギングモジュールに依存しています。 詳細はこちら
間違いなく、試してみてください this 。実際、ほとんどのアプリケーションに最適です。ブロートウェアではありません。
実際、箱から出してすぐに高度なログオプションが必要ない場合は、ログのニーズを定義するシンインターフェイス(log.debug()、log.error()など)を作成することをお勧めします。これにより、後者を変更する必要がある場合、または現在の実装に問題がある場合に柔軟性が得られます。
これは大きな利益ではないように思えますが、最近、フレームワークをWindows Compact Frameworkに移植したときに大きな成果があり、どのログオプションも機能しませんでした。 nullロガーでスライドすることができたため、そのプラットフォームで私たちを救いました。もちろん、特定のプロジェクトとニーズを評価してください。
うん。 Log4Net 。
私はしばらくそれを使用しています、それは命の恩人でした!
NLogは良いオプションです。
それでも、Log4Netの方が安全な選択肢だと思います。他の多くのオープンソースプロジェクトでもこのAPIを使用していますが、これを含めると、依存関係が減少します。
Windowsイベントログ+ Log Parser ができないことはありますか?
TraceSourcesとTraceListenersを見てください。 .NETに組み込まれ、構成ファイルで構成されます。
James Newton-Kingが約1年前に log4netとEnterprise Library Loggingの比較 を取り上げましたが、それでも大部分は最新のものだと思います。私の経験はELのみでした、そしてそれは浮き沈みがありました。すべてのベルとホイッスルを利用しないと、多層アプリケーションでは多くの構成になるため、次のプロジェクトでlog4netを試してみます。