2010-12-08 4 views
2

フォークス。私たちのアプリケーションでは、ユーザーが生成したすべての重要なイベントをログに記録する新しい要件を求めています。たとえば、ユーザーAがphoneNumberプロパティを(305)-5555-555から906)-5555-555では、このイベント発生を読み取り可能な形式で記録する必要があります。Application Logger

updated phoneNumber from (305)-5555-555 to (906)-5555-555, responsible: User A. 

私の質問のようなものは、ありませんか?技術やツールか何かをすることができ、それを行うには、よく知られたアプローチが存在する、または私達は私の現在の全体のロジックを追加することにより、手ですべてのログを実装する必要がありますソースコード ??

C#でASP.Netを使用しています!

答えて

2

使用できるツールがいくつかあります。 NLogとLog4Netは2つの例です。これらのイベントをコーディングせずにログに記録する魔法の弾丸はありません。

エンティティモデルを使用している場合は、AOPを使用してログを注入することができます。 PostSharpをご覧ください。これは、面倒なコーディングを大幅に節約できる非常に便利なツールです。

+1

PostSharpの著者は、ASP.NETシナリオでPostSharpを使用しないことに反対しました。加えて、これらの制限を取り除こうとする追加プロジェクトがあります:http://postsharp4aspnet.codeplex.com/(私はそれを使用していません)。 –

0

これまでNlogを使用していましたが、それはうまく機能しました。

0

log4Net私たちはこれを何度も使用しており、フリーでオープンソースのための最良のログツールです!

http://logging.apache.org/log4net/

log4netのは、出力対象の様々なプログラマの出力ログ・ステートメントを支援するツールです。アプリケーションで問題が発生した場合は、問題を特定できるようにログを有効にすると便利です。 log4netを使用すると、アプリケーションバイナリを変更することなく、実行時にログを有効にすることができます。 log4netパッケージは、ログ・ステートメントが高性能コストを発生させることなく出荷されたコードに残るように設計されています。 log4netは、速度と柔軟性という2つの異なる目標を念頭に置いて設計されています。

ウェブサイトのサンプルコードを使用して、始めてお楽しみください!

2

アプリケーションイベントログは必須です。しかし、ほとんどの利用可能なロギングモジュールはかなり肥大しているか重い構造です。独自のシンプルなファイルロガーを作成し、アプリケーションのこの部分を完全に制御するのはなぜでしょうか?完全なサンプル実装HEREを探します。

+0

素晴らしいヒントとコード!!!!他の答えはObjective-Cです.C++で起こっている問題を記録する必要があります。ありがとうございました。 +1 – Patricia