log4net を使用して Web アプリの進行状況を記録し、Log4PostSharp を使用してすべてのメソッドを AOP 注入しています。これは、(ほぼ) すべてをログに記録するという望ましい効果があり、問題ありません。
JUST Page_Load メソッドをファイル/コンソールに記録する必要があります。これを行うために log4postsharp クラスを明らかにハムストリング化することはできますが、そうすると他のすべてのログが失われてしまいます。
StringMatch フィルターから始めて、log4net のフィルターを調べてきましたが、それはログに記録されているメッセージのみを調べており、メソッド名の後にいます。これにより、PropertyFilter が表示されましたが、まだ喜びはありません。したがって、私の log4net.config スニペットは次のとおりです。
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.PropertyFilter">
<key value="LocationInfo.MethodName"/>
<stringToMatch value="Page_Load"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<file value="d:\\xxxx\\yyyyy\\zzzzLog"/>
ご覧のとおり、LocationInfo を介してログ イベントの MethodName にキーを入力しようとしていますが、まだすべてがログに記録されています。編集: コメントで述べたように、RTFM の後に追加した DenyAllFilter を含めました ;-)
誰でも手伝ってもらえますか?
ありがとうございました、
マイク K.