5

log4net のようなロガーを使用しているときに、アプリケーション内でログを記録するときに、人々が実際にキャプチャして使用するフィールドを知りたいと思っています。

これは、デバッグからテスト、運用にまで及ぶ可能性があり、シック クライアント アプリの場合もありますが、私は Web アプリ (つまり asp.net) のセマンティクスについてもっと考えています。

また、Web のコンテキスト (およびある程度のシック クライアントの場合) では、特定の要求に対して人々がログ全体の階層を構築する方法や、個々の要求を識別する方法などに興味があります。

乾杯アンソニー

以下は、私がこれまでにシネアップしたものです。

LogId、ServerName、ServerIP、ApplicationAbbrv、ApplicationVersion、ApplicationAppDomain、LogDateTime、LogTimeStamp、LogLogger、CodeType、CodeClass、CodeFile、CodeLocation、CodeMethod、CodeLine、CodeStackPosition、LogMessage、LogException、LogEntityOrigin、ContextSessionId、ContextUserName、ContextThread、ContextObjectPropertyData、ContextMachineId、ContextMachineIP

4

2 に答える 2

2

リクエストの「インタラクションスタック」を作成するために、ユーザーが最初にアプリケーションにアクセスするときに、Cookie内のユーザーにセッションID(GUID)を割り当てます。次に、sessionid / datetimeで並べ替えて、イベントの順序を確認します。

私たちが常にログに記録するもう1つのことは、データ品質がエラーの主な原因であると思われるため、ユーザーが操作(挿入/削除/更新)しようとしたデータ(ssnなどの機密データを除く)です。

于 2008-10-23T00:56:19.800 に答える
1

Errorであるすべてをログに記録します。

処理されたが記録する必要がある警告イベントとしてログに記録します。

それを超えて、どの程度詳細をInfoとして記録したいかはあなた次第です。メソッドへのすべてのエントリ/出口ポイントを情報としてログに記録できます。個人的には、これはやり過ぎであり、開発者が自信を持っていないコードの兆候だと思います。処理中に発生するすべての「主要な」アクションをログに記録します。

于 2008-10-23T00:05:39.433 に答える