Solución:
Estas respuestas fueron útiles, pero quería compartir mi respuesta tanto con la parte app.config como con la parte del código c #, para que la siguiente persona tenga menos adivinaciones.
<log4net>
<appender name="SomeName" type="log4net.Appender.RollingFileAppender">
<file value="c:/Console.txt" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
</appender>
<appender name="Summary" type="log4net.Appender.FileAppender">
<file value="SummaryFile.log" />
<appendToFile value="true" />
</appender>
<root>
<level value="ALL" />
<appender-ref ref="SomeName" />
</root>
<logger additivity="false" name="Summary">
<level value="DEBUG"/>
<appender-ref ref="Summary" />
</logger>
</log4net>
Luego en código:
ILog Log = LogManager.GetLogger("SomeName");
ILog SummaryLog = LogManager.GetLogger("Summary");
Log.DebugFormat("Processing");
SummaryLog.DebugFormat("Processing2"));
Aquí c: /Console.txt contendrá “Processing” … y SummaryFile.log contendrá “Processing2”
Sí, simplemente agregue múltiples FileAppenders a su registrador. Por ejemplo:
<log4net>
<appender name="File1Appender" type="log4net.Appender.FileAppender">
<file value="log-file-1.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %message%newline" />
</layout>
</appender>
<appender name="File2Appender" type="log4net.Appender.FileAppender">
<file value="log-file-2.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="File1Appender" />
<appender-ref ref="File2Appender" />
</root>
</log4net>
Vinay tiene razón. En respuesta a su comentario en su respuesta, una forma de hacerlo es la siguiente:
<root>
<level value="ALL" />
<appender-ref ref="File1Appender" />
</root>
<logger name="SomeName">
<level value="ALL" />
<appender-ref ref="File1Appender2" />
</logger>
Así es como lo he hecho en el pasado. Entonces algo como esto para el otro registro:
private static readonly ILog otherLog = LogManager.GetLogger("SomeName");
Y puede obtener su registrador normal de la siguiente manera:
private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
Lea la sección de registradores y anexos de la documentación para comprender cómo funciona.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)