not manejo logs logmanager log getlogger crear configuracion .net log4net

.net - manejo - logmanager getlogger c#



Tamaño máximo de archivo de LogFileAppender en Log4Net (2)

Estoy usando Log4net por un tiempo y es un marco de registro increíble, especialmente cuando está conectado a Castle.Windsor. Sin embargo...

Usualmente uso el appender del archivo rodante, pero esto ha dado lugar a demasiados archivos de registro de los que realmente quiero, así que para mi último proyecto, he usado LogFileAppender básico, pero el problema es que el archivo de registro sigue creciendo (aparentemente para siempre) .

¿Cómo puedo decirle al appender que no pase por encima de un tamaño fijo (y comenzar a eliminar registros antiguos y agregar los nuevos al archivo?

Mi configuración actual se ve como:

<appender name="LogFileAppender" type="log4net.Appender.FileAppender"> <file value="E:/Logs/iWater/Schedule-Dispatch-API.log"/> <param name="AppendToFile" value="true"/> <maximumFileSize value="2048KB"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%-16date{dd MMM HH:mm:ss} %-7level %-25.35logger{1} %message%newline"/> </layout> </appender>

Parece que el atributo maximumFileSize no se está respetando. ¿Alguna solución?

Alternativamente, ¿cómo puedo configurar el appender de archivo rodante para que solo cree 1 archivo (siempre)?


La clase FileAppender no tiene las propiedades MaxFileSize / MaximumFileSize. Solo los obtienes si usas un RollingFileAppender. Este es un ejemplo que limitará su archivo a un tamaño máximo fijo, sin copias de seguridad (establezca maxSizeRollBackups en 0). Tenga en cuenta que cuando el archivo alcanza su tamaño máximo, se trunca (básicamente elimina todo el registro existente y comienza de nuevo):

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="log.txt" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="0" /> <maximumFileSize value="10MB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender>


LogFileAppender no admite la limitación del tamaño del archivo de salida (al menos en las referencias que puedo encontrar). Para limitar el tamaño del archivo, use un RollingFileAppender y ruede en Tamaño y establezca el límite de tamaño del archivo.

Para limitar la cantidad de archivos transferidos, use el atributo MaxSizeRollBackups