2012-07-03 17 views
9

Estoy registrando todos los SQL generados por nHibernate porque tenemos un problema extraño. Esto solo genera enormes registros, por lo que estoy tratando de acortarlos un poco tratando de solo registrar líneas que contengan una determinada ID. Todavía parece que todo está llegando. ¿Hay algo raro aquí?Log4Net StringMatchFilter no está filtrando nada

<appender name="RollingFile" type="log4net.Appender.RollingFileAppender,log4net" > 

     <param name="File" value="nHibernate.txt" /> 
     <param name="AppendToFile" value="true" /> 
     <param name="DatePattern" value="yyyy.MM.dd" /> 

     <layout type="log4net.Layout.PatternLayout,log4net"> 
      <conversionPattern value="%d %p %m%n" /> 
     </layout> 

     <filter type="log4net.Filter.StringMatchFilter"> 
      <stringToMatch value="5764" /> 
      <acceptOnMatch value="true" /> 
     </filter> 

    </appender> 

    <logger name="NHibernate.SQL" additivity="false"> 
     <level value="DEBUG" /> 
     <appender-ref ref="RollingFile" /> 
    </logger> 

Respuesta

18

Resulta que es necesario añadir este código:

<filter type="log4net.Filter.DenyAllFilter" /> 

El bloque completo es el siguiente:

<appender name="RollingFile" type="log4net.Appender.RollingFileAppender,log4net" > 

     <param name="File" value="nHibernate.txt" /> 
     <param name="AppendToFile" value="true" /> 
     <param name="DatePattern" value="yyyy.MM.dd" /> 

     <layout type="log4net.Layout.PatternLayout,log4net"> 
      <conversionPattern value="%d %p %m%n" /> 
     </layout> 

     <filter type="log4net.Filter.StringMatchFilter"> 
      <stringToMatch value="5764" /> 
      <acceptOnMatch value="true" /> 
     </filter> 

     <!-- need this here! --> 
     <filter type="log4net.Filter.DenyAllFilter" /> 

    </appender> 

    <logger name="NHibernate.SQL" additivity="false"> 
     <level value="DEBUG" /> 
     <appender-ref ref="RollingFile" /> 
    </logger> 
+2

En caso caso en el que usted tiene otro filtro, y , puede mover StringMatchFilter sobre el otro y creo que no necesita en ese caso – sawe