5

asp.netアプリケーションで実行されるアクションやアクティビティなどをログに記録するための最良の方法は何ですか。また、これらをログに記録するのに最適なストレージはどれですか?XML?DB?

どうもありがとうございます。

4

4 に答える 4

5

私が最も嫌う答えは、実際にはここに当てはまります:「それは依存する」。具体的には、いくつかのことに依存します。

  • 誰のログ情報ですか?それはビジネスユーザーを対象としていますか(つまり、実際のビジネス要件がありますか)、アプリケーション管理を対象とした情報ですか、頻繁に使用される機能に関する洞察が必要ですか?
  • ログに記録された情報の粒度はどのくらいですか?たとえば、検索機能が使用されたかどうかだけを知る必要がありますか、検索クエリを知りたいですか、それとも実際の検索結果に関する情報も必要ですか?
  • 情報はどの程度正確で完全である必要がありますか?監査証跡の要件は通常非常に厳しく、技術的な要件はそれほど厳しくないことがよくあります。
  • アクション/アクティビティをロールバックできるようにしますか?もしそうなら、誰がそれをするのか(ビジネスユーザー、サポート担当者)
  • 展開はどのように見えますか?サーバーが1つしかない場合は、ファームと負荷のバランスが取れた環境を使用している場合よりも、テキストファイルまたはXMLへのログ記録が可能です。

アプリケーションロギングについては、log4netやエンタープライズライブラリロギングアプリケーションブロックなどの有名なプロバイダーを調べてください。どちらも、ログを記録する場所(テキストファイル、データベースなど)を構成できます。
データベースアクションをログに記録するために、データベース内の解決策を提案します。SQL Server 2008のいくつかのバージョンには監査のサポートが組み込まれていますが、Oracleは何年にもわたってこれをサポートしてきました。

于 2009-09-17T07:16:35.310 に答える
1

おそらくPostSharp。DBにログインします。

- 編集:

これは、すべてのコードアクションをログに記録するためのものです。すべてのDBアクションをログに記録するには、トリガーを使用します。

于 2009-09-17T06:28:51.607 に答える
0

私は使用します:log4net

設定ファイルで出力(ファイル、メール、DB、...)を設定および変更できるため、コードを再構築する必要がありません。

于 2009-09-17T07:58:47.680 に答える
0

複雑な監査システムは必要ないが、コードの実行内容をログに記録するだけの場合は、.NETFrameworkおよびASP.NETと統合されたトレースシステムを使用することをお勧めします。

フレームワークで非常に単純なクラスを使用すると、コードはトレースを出力し、構成ファイルを介してそれらをさまざまなストレージシステム(ファイル、データベース、Windowsイベントなど)に送信できます。独自のストアシステムトレースプロバイダーを作成することもできます

http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.aspx

于 2009-09-17T07:52:41.750 に答える