我正在使用 log4net 记录我的网络应用程序的进度,使用 Log4PostSharp 对所有方法进行 AOP 注入。这具有记录(几乎)所有内容的预期效果,并且很好。
我现在需要将 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"/>
如您所见,我试图通过 LocationInfo 键入记录事件的 MethodName,但我仍在记录所有内容。编辑:正如评论中提到的,我现在已经包含了我在 RTFM 之后添加的 DenyAllFilter ;-)
有人可以帮忙吗?
谢谢,
迈克·K。