see - Configuración de Log4Net-LevelMatchFilter
log4net configuration c# (4)
@BradLaney y otros para quienes la solución @ iffi no funciona, asegúrese de que la versión sea al menos 1.2.11. Aquí está el informe de error: https://issues.apache.org/jira/browse/LOG4NET-137
Además, si configuras lossy como verdadero, necesitarías un evaluador que LevelMatchFilter no (es un filtro). Entonces 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 agregar como comentario.
Como hay los siguientes niveles en log4net
- TODAS
- DEPURAR
- INFO
- ADVERTIR
- ERROR
- FATAL
- APAGADO
¿Puede alguien decirme en log4net cómo puedo registrar solo INFO & ERROR o DEBUG & ERROR ? Lo que quiero decir aquí es ser capaz de registrar dos niveles diferentes que no están en secuencia?
No puedo hacerlo si uso following porque también se registrarán mensajes de advertencia que no quiero:
<filter type="log4net.Filter.LevelRangeFilter">
<acceptOnMatch value="true" />
<levelMin value="INFO" />
<levelMax value="ERROR" />
</filter>
Lo que nadie ha dicho aún es que las etiquetas <filter>
(como se muestra en los ejemplos anteriores) deben aparecer dentro de una etiqueta <appender>
. Por ejemplo (esta no es una configuración de log4net válida: solo estoy mostrando cómo la etiqueta <filter>
es una entrada secundaria en <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>
Use LevelMatchFilter junto 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" />
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>