我使用log4net记录我的web应用程序的进度,使用Log4PostSharp来AOP注入所有方法。这具有记录(几乎)所有内容的理想效果,并且很好。过滤方法名称上的log4net - 不能完全得到它
我现在有要求将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"/>
正如你所看到的,我想Key插入通过LocationInfo记录事件的方法名,但我还是让一切记录下来。编辑:正如在评论中提到的,我现在包括我在RTFM后添加的DenyAllFilter ;-)
任何人都可以协助吗?
谢谢
迈克K.
NB:我现在已经添加了<过滤器类型=“log4net.Filter.DenyAllFilter” />后过滤停止一切被记录,一旦我得到methodname过滤器的工作原理 – 2010-04-14 11:23:27
您是否添加了DenyAllFilter?你会得到一切或没有记录呢?你应该更新你的问题来反映你的进步。 – 2010-04-14 13:01:09