2009-06-02 7 views
1

.NETライブラリを使用するASP.NETアプリケーションがあります。後でエラーメッセージを確認するためにどこかにロギングを有効にしたい。.NETデバッグログ

私はASP.NETアプリケーションと.NETライブラリを同じ場所または別の場所に記録します。私はそれをする方法を知らない。

私はSystem.Diagnosticsを使用することをお勧めします。サードパーティ製のフレームワークではなく.NET Frameworkから入手できますが、これがより優れたソリューションであるかどうかはわかりません。

エラーメッセージと場合によってはカスタムメッセージを記録します。

ありがとうございました!

+0

をエラーが発生する時間。カスタムログメッセージを出力したい場合は、下記のElmahが正しくありません。 –

答えて

3

.NET用にたくさんのロギングフレームワークがあります。アプリケーションに強力で柔軟なロギングが必要な場合は、one of 3rd party frameworksを使用します。私はlog4netを使用する必要があります。 .NET Frameworkのクラスだけを使ってこれを行う方法もいくつかあります。

  1. 最も簡単な方法は、ロガーのあなたの個人的な実装の作成になります、例えばあなたがちょうどあなたがに何かを記録したい場所でFile.AppendAllTextを使用することができます:あなたはこれらのアプローチを使用することができる。例えば

    どこかに。 SQLデータベースをログエントリの記憶域として使用する場合は、適切な挿入クエリで満たされたSqlCommandクラスを使用するか、別の方法でログを定義することができます。しかし、あなたのコードをサポートする他の人がよく知られているフレームワーク&の使用法を知っている可能性があり、あなたの実装を知る機会がないので、おそらくより大きなものを読む必要があるため、この方法はお勧めできませんコード量。

  2. EventLogクラスを使用できます。これを使用して、サービスとASP.NETアプリケーションで発生した重大なエラー(未処理の例外など)をログに記録しました。これにより、システム全体のストレージに無条件にログを記録することができます。そのストレージにはMicrosoft管理コンソール(mmc)からアクセスでき、そのストレージは設定可能です。

  3. また、Debug.WriteLineやTrace.WriteLineのようなものをロギングに使用することもできます。その場合、web.configファイルを編集してログリスナーを設定することができます。ロギングを有効または無効にしたり、ロギングの方法を変更したり(ファイルへのログ、イベントログへの変更など)できます。

+0

あなたの答えは素晴らしいです!私はサードパーティ製のフレームワークを使用したくありません。 – VansFannel

0

ELMAHは、私は大きな成功を収めてnlogを使用していた瞬間

0

でASP.NETで使用されている人気のあるフレームワークのようです。それは古いですが信頼できます。さまざまな宛先と異なるメッセージを設定できます。

1

私は約1年前にELMAHを使用していました。これは素晴らしいツールでした。 ELMAHは、.NETアプリケーションで未処理の例外をキャプチャし、db、xmlにログを記録したり、スタックトレース情報を使用して電子メールを送信したりすることができます。

このdotnetslackersarticleは私を稼働させる素晴らしいスタートでした。私は過去1年間に6つのプロジェクトでELMAHを使って素晴らしい結果を出しました。設定は簡単です。これは、Webプロジェクトの.dllを参照し、web.configファイルに値を設定することで完了します。キャプチャされたデバッグ情報は非常に詳細です。その時点で、要求に対する完全なスタックトレースとすべてのサーバー変数の取得が行われます。

関連する問題