如何抑制nHibernate的日志消息

时间:2010-02-02 12:02:16

标签: nhibernate log4net

我在我的应用程序中使用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>

2 个答案:

答案 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*" />

您可以在正则表达式规则中找到详细信息