2010-02-02 82 views
6

我在也使用nHibernate的应用程序中使用log4Net。现在我的事件记录器充斥着我想压制的nHibernate消息。如何禁止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> 

回答

11

您可以添加NHibernate的记录仪,并成立了不同的层次:

<logger name="NHibernate" additivity="false"> 
    <level value="WARN"/> 
    <appender-ref ref="RollingFileAppender"/> 
</logger> 
0

你应该使用

<loggerToMatch value="NHibernate.*" /> or <loggerToMatch value="NHibernate" /> 

<loggerToMatch value="NHibernate*" /> 

你可以找到详细资料在正则表达式规则