2010-02-02 13 views
6

Estoy usando log4Net en mi aplicación que también usa nHibernate. Ahora mi eventlogger está inundado de mensajes nHibernate que quiero suprimir.Cómo suprimir el mensaje de registro para nHibernate

He intentado esto pero no funcionó.

<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> 

Respuesta

11

Se puede añadir un registrador para NHibernate y establecer un nivel diferente:

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

se debe utilizar

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

no

<loggerToMatch value="NHibernate*" /> 

puede encontrar detalles en las reglas de expresiones regulares

Cuestiones relacionadas