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:
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
Apache extras log4j, Sugeriría usar org.apache.log4j.rolling.RollingFileAppender con la política de tiempo basado
Puede encontrar una configuración de muestra para la rotación basada en el tiempo del registro.
Espero que esto ayude.