Deseo enviar el nivel de información & anterior al apéndice XML y el nivel de error/fatal al apéndice EventLog.Configurar log4net para enviar errores a diferentes appenders según el nivel
Supongo que tengo que modificar el elemento raíz de la configuración pero estoy luchando con la sintaxis. ¿Cuál es la sintaxis de configuración para dirigir los registros al appender correcto para un determinado nivel o rango de niveles?
Esta es la configuración hasta el momento:
<log4net>
<appender name="SomeXmlAppender" type="log4net.Appender.RollingFileAppender">
...
</appender>
<appender name="SomeEventLogAppender" type="log4net.Appender.EventLogAppender">
...
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="SomeXmlAppender" />
<appender-ref ref="SomeEventLogAppender" />
</root>
</log4net>
Edit: Gracias @agileguy. Esa publicación en verdad contenía la sintaxis que necesitaba. La solución de trabajo ahora se ve así:
<log4net>
<appender name="SomeXmlAppender" type="log4net.Appender.RollingFileAppender">
...
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="INFO"/>
</evaluator>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<acceptOnMatch value="true" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<appender name="SomeEventLogAppender" type="log4net.Appender.EventLogAppender">
...
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="ERROR"/>
</evaluator>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<acceptOnMatch value="true" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="SomeXmlAppender" />
<appender-ref ref="SomeEventLogAppender" />
</root>
</log4net>
Tenga en cuenta que un evaluador sólo es usado por appenders que soportan el almacenamiento en búfer. Si desea especificar un nivel específico por apéndice, solo necesita usar el elemento por sí mismo; no es necesario incluirlo en un evaluador. –
Brian
Creo que el artículo del señor Graham [aquí] (http://weblogs.asp.net/tgraham/archive/2007/03/15/a-realistic-log4net-config.aspx) te ayudará. –