Actualmente tengo varios archivos de registro en mi aplicación usando log4net.Log4Net - Cerrar sesión en la pila de pila de excepción solo para ciertos archivos
Tengo un archivo de registro de nivel superior que contiene todo tipo de mensaje. También tengo un archivo de registro de error que contiene solo información de error. Estoy intentando configurarlo para que los detalles de excepción específicos y el seguimiento de la pila solo aparezcan en el archivo de registro de errores.
La llamada que estoy usando es Log.Error(myMessage, myException);
Mi config puede verse a continuación:
<configuration>
<log4net>
<root>
<level value="ALL"/>
<appender-ref ref="GeneralTextLog"/>
<appender-ref ref="ErrorTextLog"/>
</root>
<!-- The general appender rolls by date -->
<appender name="GeneralTextLog" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<level value="ALL"/>
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{HH:mm:ss.fff} [%type] %-5p %message%n"/>
</layout>
<rollingStyle value="Date"/>
<file value="C:/Logs/General_"/>
<datePattern value="yyyy_MM_dd'.log'" />
<appendToFile value="true"/>
<staticLogFileName value="false"/>
</appender>
<!-- The Error appender rolls by date -->
<appender name="ErrorTextLog" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="WARN"/>
<levelMax value="FATAL"/>
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{HH:mm:ss.fff} [%type] %-5p %message%newline%exception"/>
</layout>
<rollingStyle value="Date"/>
<file value="C:/Logs/Error_"/>
<datePattern value="yyyy_MM_dd'.log'" />
<appendToFile value="true"/>
<staticLogFileName value="false"/>
</appender>
<!-- Loggers -->
<logger name="DefaultLogger">
<appender-ref ref="GeneralTextLog"/>
<level value="ALL"/>
</logger>
<logger name="ErrorLogger">
<appender-ref ref="ErrorTextLog"/>
<levelMin value="WARN"/>
<levelMax value="FATAL"/>
</logger>
A pesar de que sólo he incluido% excepción en el conversionPattern para el registro de errores, stacktrace aparece en ambos registros. ¿Alguien sabe cómo puedo evitar que esto suceda?
Esto ha funcionado. Gracias. – Rob