I must log some methods. In one method I must log everything. In all others method I've just log exception... I have done this configuration:
<log4net>
<appender name="OneMethodFileAppender" type="log4net.Appender.RollingFileAppender">
...
<filter type="log4net.Filter.PropertyFilter">
<key value="realMethod" />
<stringToMatch value="xxx" />
<acceptOnMatch value="true" />
</filter>
</appender>
<appender name="WebsiteFileAppender" type="log4net.Appender.RollingFileAppender">
...
<filter type="log4net.Filter.PropertyFilter">
<key value="realMethod" />
<stringToMatch value="xxx" />
<acceptOnMatch value="false" />
</filter>
</appender>
<root>
<appender-ref ref="WebsiteFileAppender">
<threshold value="ERROR" />
</appender-ref>
<appender-ref ref="OneMethodFileAppender">
<threshold value="INFO" />
</appender-ref>
</root>
</log4net>
So, when I match the property realMethod
I should use the appender OneMethodFileAppender
that log at the INFO level; in all other cases i should use the appender WebsiteFileAppender
that log at ERROR level.
I have a different output.
1. When i match the method xxx
everything works correctly. I mean that a log at INFO level in the correct log.
2. But when I do not match the method xxx
, I log in both files and both at INFO level.