2010-02-02 80 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*" /> 

你可以找到詳細資料在正則表達式規則