Como existen los siguientes niveles de log4net

  • TODOS
  • De DEPURACIÓN
  • INFO
  • ADVERTIR
  • ERROR
  • FATAL
  • FUERA

Puede alguien por favor decirme en log4net ¿cómo puedo entrar solo INFO & ERROR o de DEPURACIÓN & ERROR? Lo que quiero decir aquí es ser capaz de iniciar sesión en dos niveles diferentes que no están en secuencia?

Yo no puedo hacer si yo uso la siguiente debido a que los mensajes de advertencia se registrará así que no quiero:

<filter type="log4net.Filter.LevelRangeFilter">
    <acceptOnMatch value="true" />
    <levelMin value="INFO" />
    <levelMax value="ERROR" />
</filter>

OriginalEl autor iffi | 2011-10-11

4 Comentarios

  1. 26

    Uso LevelMatchFilter en conjunción con DenyAllFilter:

    <filter type="log4net.Filter.LevelMatchFilter">
      <acceptOnMatch value="true" />
      <levelToMatch  value="INFO" />
    </filter>
    <filter type="log4net.Filter.LevelMatchFilter">
      <acceptOnMatch value="true" />
      <levelToMatch  value="ERROR" />
    </filter>
    <filter type="log4net.Filter.DenyAllFilter" />
    Gracias por el ejemplo. Sólo para tu INFORMACIÓN, true es el valor predeterminado para acceptOnMatch así que esto va a funcionar igual de bien con las líneas de elide.
    Esto no funciona en el formulario e a todos con la versión más reciente de log4net.
    Lo que nadie ha dicho todavía es que el <filtro> etiquetas (como se muestra arriba) debe aparecer dentro de un <appender> etiqueta! Ver a mi adicionales en respuesta a continuación.

    OriginalEl autor iffi

  2. 3

    @BradLaney et al para quienes @iffi del fix no funciona , asegúrese de que la versión es al menos 1.2.11. Aquí está el informe de error:
    https://issues.apache.org/jira/browse/LOG4NET-137

    También si se establece con pérdida como true, se necesitaría un evaluador que LevelMatchFilter no es (es un filtro). Así que esto funciona para mí:

        <filter type="log4net.Filter.LevelMatchFilter">
          <param name="LevelToMatch" value="WARN" />
        </filter>
        <filter type="log4net.Filter.DenyAllFilter" />s a
    

    No me deja añadir un comentario.

    Gracias, funciona perfectamente!!

    OriginalEl autor Rair

  3. 3

    Lo que nadie ha dicho todavía es que la <filter> etiquetas (como se muestra en los ejemplos de arriba) debe aparecer dentro de un <appender> etiqueta! Por ejemplo (esto no es válido log4net de configuración-solo estoy mostrando cómo la <filter> etiqueta es una participación de un niño en virtud de <appender>:

    <configuration>
      <configSections>
        <section ...="" />
      </configSections>
      <startup>
        <supportedRuntime ...="" />
      </startup>
      <log4net>
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date{dd MMM yyyy HH:mm:ss} {%thread} %level - %message%newline%exception"/>
          </layout>
          <filter type="log4net.Filter.LevelMatchFilter">
            <acceptOnMatch value="true" />
            <levelToMatch  value="INFO" />
          </filter>
          <filter type="log4net.Filter.DenyAllFilter" />
        </appender>
        <root>
          <appender-ref ...="" />
        </root>
        <logger name="Log4NetTest.OtherClass">
          <level value="DEBUG"/>
          <appender-ref ref="ConsoleAppender"/>
        </logger>
      </log4net>
    </configuration>
    

    OriginalEl autor Jazimov

  4. 0

    tratar:

    <filter type="log4net.Filter.LevelRangeFilter">
        <levelToMatch value="INFO" />
        <acceptOnMatch value="true" />
    </filter>
    <filter type="log4net.Filter.LevelRangeFilter">
        <levelToMatch value="ERROR" />
        <acceptOnMatch value="true" />
    </filter>
    
    Gracias Mike. He intentado como usted dijo, no funcionó. Luego hice un poco más de investigación a lo largo de esas líneas y encontrar la solución. Vea la solución en la sección de respuestas. Gracias por la ayuda.

    OriginalEl autor mike01010

Dejar respuesta

Please enter your comment!
Please enter your name here