我在我的应用程序中使用log4Net,它也使用nHibernate。现在我的eventlogger充斥着我想要抑制的nHibernate消息。
我试过这个但是没有用。
<log4net>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<param name="LogName" value="App Log" />
<param name="ApplicationName" value="DataService" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="NHibernate*" />
<acceptOnMatch value="false" />
</filter>
</appender>
<root>
<priority value="ALL"/>
<appender-ref ref="EventLogAppender"/>
</root>
</log4net>
答案 0 :(得分:12)
您可以为nHibernate添加记录器并设置不同的级别:
<logger name="NHibernate" additivity="false">
<level value="WARN"/>
<appender-ref ref="RollingFileAppender"/>
</logger>
答案 1 :(得分:0)
你应该使用
<loggerToMatch value="NHibernate.*" /> or <loggerToMatch value="NHibernate" />
不
<loggerToMatch value="NHibernate*" />
您可以在正则表达式规则中找到详细信息