usar logger dailyrollingfileappender como java logging netbeans log4j rollingfileappender

logger - log4j java download



las propiedades de log4j DailyRollingFileAppender no funciona (3)

Quiero registros diarios con el archivo de registro adjunto con la fecha en formato aaaa-dd-mm. Cuando uso DailyRollingFileAppender, no se crea un nuevo archivo de registro. Los registros se escriben en el mismo archivo de registro. Además, la fecha del patrón proporcionado no se considera. El archivo de registro creado es LoggerFile.log. Y cada contenido (incluso el día siguiente) se escribe en este archivo.

Estoy usando el jar log4j-1.2.17. Estoy desarrollando en Netbeans 7.3.1 en Java.

¿Hay alguien usando este JAR y enfrentando tal problema? ¡Por favor ayuda!

Aquí está el contenido del archivo de propiedades que uso:

# Root logger option log4j.rootLogger=ERROR,FILE,stdout # Define the file appender log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender log4j.appender.FILE.File=.//..//logs//LoggerFile.log # Define the layout for file appender log4j.appender.FILE.DatePattern=''.''yyyy-MM-dd log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS zzz} %5p %c{1}:%L - %m%n log4j.appender.FILE.MaxFileSize=10MB # Direct log messages to stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n`


Intenta agregar otra línea log4j.appender.file.Append = true

El código completo se ve a continuación

# Root logger option log4j.rootLogger=DEBUG, file, stdout # Daily rolling file appender log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.File=logs/mylogs.log log4j.appender.file.Append=true log4j.appender.file.DatePattern=''.''dd-MM-yyyy log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=100 log4j.appender.file.encoding=UTF-8 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n


En primer lugar, tiene un error porque DailyRollingFileAppender no es compatible con la propiedad MaxFileSize .

Entonces puede intentar eliminar el carácter '' del DatePattern :

Intenta cambiar

log4j.appender.FILE.DatePattern=''.''yyyy-MM-dd

a

log4j.appender.FILE.DatePattern=.yyyy-MM-dd


Tenía requisitos similares para la rotación diaria de archivos de registro. (Aunque la pregunta es más antigua, pensé que la respuesta ayudaría a otros).

Puntos clave:

  1. En primer lugar, podemos evitar el uso de DailyRollingFileAppender . ¿Por qué? Se ha observado que DailyRollingFileAppender presenta problemas de sincronización y pérdida de datos. El complemento adicional log4j incluye alternativas que se deben considerar para nuevas implementaciones y que se analizan en la documentación de org.apache.log4j.rolling.RollingFileAppender. Referencia: Documentación del apilador diario de archivos rodantes

  2. Apache extras log4j, Sugeriría usar org.apache.log4j.rolling.RollingFileAppender con la política de tiempo basado

  3. Puede encontrar una configuración de muestra para la rotación basada en el tiempo del registro.

Espero que esto ayude.