1

log4netを使用してWebサイトのエラー/情報をログに記録していますが、うまく機能しています。

ログインしたユーザー/sessionidなどに基づいてログのレベルを制御することは可能ですか?つまり。ユーザーが問題で私たちを呼び出し、トラブルシューティングできるように詳細ログをオンにしますが、詳細ログでそのユーザーの速度を落とすだけですか?

明らかに明示的にコーディングすることはできますが、log4netに何かが組み込まれているのではないかと思っていました。たぶん、グローバルプロパティを持つフィルターを使用することによって?

4

1 に答える 1

0

フィルタを確認する必要があります。独自に作成することもできます。または、フィルタリングを行う独自のログアペンダーを作成します。

フィルター:

 <filter type="YourNameSpace.UserFilter">
     <user value="myusername"/>
 </filter>

次に、 SkeletonFilterクラスをYourNameSpace.UserFilterとして実装します

ウィンドウ認証と偽装を使用する場合は、log4net.Filter.PropertyFilterを使用して、メッセージ内のプロパティをフィルタリングすることもできます。ユーザーは、UserIdプロパティで見つけることができます。

<filter type="log4net.Filter.PropertyFilter">
   <key value="UserID" />
   <stringToMatch value="MyUserName" />
</filter>
于 2012-11-16T09:31:40.920 に答える