我正在使用log4net来记录我的Web应用程序的进度,使用Log4PostSharp来AOP-injectify所有方法.这具有记录(几乎)所有内容的期望效果,并且很好.
我现在需要将JUST Page_Load方法记录到文件/控制台.我显然可以使用log4postsharp类来执行此操作,但之后我将丢失所有其他日志记录.
我一直在查看log4net中的过滤器,从StringMatch过滤器开始,但只查看正在记录的消息,并且我在方法名称之后.这让我进入了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"/>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我正在尝试通过LocationInfo键入日志记录事件的MethodName,但我仍然记录了所有内容.编辑:正如评论中所提到的,我现在已经包含了我在RTFM之后添加的DenyAllFilter ;-)
有人可以帮忙吗?
谢谢,
迈克K.