¿Conoce un agregador log4net que se actualiza según la fecha, pero le permite limitar el número total de archivos?

StackOverflow https://stackoverflow.com/questions/2063329

Pregunta

Necesito definir un agregador para log4net de manera que obtenga un archivo de registro por cada día, pero el número total de archivos está limitado a, digamos, 30.Es decir, quiero conservar solo los registros que no tengan más de 30 días y eliminar los más antiguos.

Intenté hacerlo con RollingFileAppender, pero parece que No se admite especificar un límite de archivos para conservar..¿Conoce alguna solución alternativa que pueda utilizar?

¿Fue útil?

Solución

Pasé algún tiempo investigando esto hace unos meses.v1.2.10 no admite la eliminación de archivos de registro más antiguos según la fecha de caducidad.Está en la lista de tareas para la próxima versión.Tomé el código fuente y agregué la funcionalidad yo mismo, y lo publiqué para otros si están interesados.El problema y el parche se pueden encontrar en https://issues.apache.org/jira/browse/LOG4NET-27 .

Otros consejos

Escribir un C # WinService o hacer en la aplicación de un BackgroundWorker que supervisará una vez al día los archivos de registro antiguos y eliminarlo. Se puede utilizar el FileSystemWatcher para este ámbito.

O simplemente prueba a cada aplicación que se ejecuta la presencia de nuevos archivos de registro y eliminarlo.

Otra opción será no almacenar archivos localmente pero enviarla a través de la red (correo, etc servidor remoto).

Ver también duplicar preguntas: aquí y aquí .

se puede utilizar el 'Compuesto' tipo de registro? más aquí: http://logging.apache.org/log4net/release/config -examples.html

 <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top