3

ユーザーが操作するときにユーザーを追跡する必要があるアプリがあります。ログに記録する必要があるものには次のものがあります。ユーザー ログイン、ユーザー ログアウト、ユーザーが現在の場所に到達するために何をしたかについての詳細を含むページ ビュー。

これはマルチ ユーザー サイトであり、最大 50 人の同時ユーザーを持つことができます。私は、このようなログをファイルに記録すると、頻繁に使用しているときに IIS でスレッドの問題が発生する可能性があることを頭に入れています。

DB やその他のログ記録方法を使用する努力をする必要があるいくつかの正当な理由を探しています。現在、アプリで DB を使用していないことに注意してください。そのため、構成に追加することに熱心ではありません。

4

3 に答える 3

0

最大の考慮事項は、このログ データをどのように使用するかです。ログ ファイルを開いて、人々が何をしているかを、その順序で確認するだけであれば、ファイルは問題なく機能します。または、純粋に監査目的でデータが必要な場合、まれに問題が発生した場合に、すべてのログ ファイルに戻って解析し、特定の有用な情報を見つけることができる場合は、単純なファイルで十分に機能する可能性があります。同時実行の問題は、最新のロギング フレームワークのほとんどで適切に処理されます。

一方、データを効果的にクエリできるようにしたい場合は、データベース テーブルの方がはるかに強力です。たとえば、時間とアクティブなユーザーをデータベース テーブルの個別のフィールドとして取得した場合、特定の期間に特定のユーザーが実行したアクションのみを表示できます。または、エラー レベルのメッセージをスタック トレースの一番上の行でグループ化して、一般的な問題を特定し、それらが発生したコード行ごとの合計数で並べ替えることができます。

いずれにせよ、Log4Net や NLog などのよく知られたログ フレームワークを使用することをお勧めします。これらは、遭遇する問題のほとんどに対処し、将来気が変わった場合に簡単に変更できるようにします。ログに記録される場所と、ログに記録される場所。

于 2013-08-13T15:16:02.213 に答える
0

はい、それは良い考えです。ただし、独自のフレームワークを構築しないでください。のような軽量なソリューションもLog4Netあれば、 のような「エンタープライズ」なソリューションもありEnterpriseLoggingLibraryます。

于 2013-08-13T15:16:41.737 に答える