2011-11-25 7 views
9

El sistema actual está funcionando como se esperaba y los archivos de registro se rodó una vez una hora de acuerdo a la lógica continuación:log4j: Rolling se registra en el archivo .gz con DailyRollingFileAppender usando TimeBasedRollingPolicy

log4j.appender.oozie=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.oozie.DatePattern='.'yyyy-MM-dd-HH 
log4j.appender.oozie.File=${oozie.log.dir}/oozie.log 
log4j.appender.oozie.Append=true 
log4j.appender.oozie.layout=org.apache.log4j.PatternLayout 
log4j.appender.oozie.layout.ConversionPattern=%d{ISO8601} %5p %c{1}:%L - %m%n 

Puedo entender que la rodadura de el archivo de registro directamente en un archivo comprimido (.gz o .zip) es posible con RollingFileAppender (en función del tamaño del archivo) utilizando TimeBasedRollingPolicy. Estoy usando DailyRollingFileAppender (rolling basado en el tiempo) y me gustaría lograr la compresión con eso. Modifiqué mis propiedades de la siguiente manera. Pero eso no funciona.

log4j.appender.oozie=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.oozie.DatePattern='.'yyyy-MM-dd-HH 
log4j.appender.oozie.File=${oozie.log.dir}/oozie.log 
log4j.appender.oozie.Append=true 
log4j.appender.oozie.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy 
log4j.appender.oozie.RollingPolicy.FileNamePattern=foo.%d{yyyy-MM-dd-HH}.gz 
log4j.appender.oozie.layout=org.apache.log4j.PatternLayout 
log4j.appender.oozie.layout.ConversionPattern=%d{ISO8601} %5p %c{1}:%L - %m%n 

Cualquier puntero sería muy apreciado. Aquí hay algunos enlaces relevantes.

Configuring RollingFileAppender in log4j

http://logging.apache.org/log4j/companions/extras/apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html

+1

han encontrado una solución para eso? Veo el mismo – javagirl

Respuesta

2

Pardon mi sorpresa, pero a la relación exacta que dio anteriormente se dice en la respuesta aceptada:

Tenga en cuenta que TimeBasedRollingPolicy sólo se puede configurar con XML, no se log4j.properties

¿Ha intentado volver a escribir su configuración en XM? Formato L?

+2

Gracias por su respuesta ... En el enlace que publiqué, una de las respuestas dice "Este problema se corrigió en log4j v1.2.16. Ahora es compatible con la configuración de rollingPolicy a través del archivo de propiedades. issues.apache.org/ bugzilla/show_bug.cgi? id = 36384 ". No intenté volver a escribir en XML, ya que eso supondría un gran cambio (es necesario volver a escribir para múltiples registradores que ya están allí con diferentes intervalos de ejecución) y, por lo tanto, trataríamos de lograrlo utilizando el archivo de propiedades en sí. – userkn87

2

intenta lo siguiente, que funciona para mí:

log4j.rootLogger=CONSOLE,file 


log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE..layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 

log4j.appender.file=org.apache.log4j.rolling.RollingFileAppender 
log4j.appender.file.Threshold=WARN 
log4j.appender.file.Encoding=UTF-8 

log4j.appender.file.File=/path to your logs/logs/log_file.log 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy 
log4j.appender.file.RollingPolicy.FileNamePattern=/path to your     logs/logs/log_file%d{yyyy-MM-dd-HH-mm-ss}.log 
log4j.appender.file.layout.ConversionPattern=%d{[email protected]:mm:ss} %-5p (%13F:%L) %3x - %m%n 
+1

No funciona en commons-logging-1.1.1 (con log4j.log4j: 1.2.12), el error es log4j: WARN No existe dicha propiedad [rollingPolicy] en org.apache.log4j.RollingFileAppender. log4j: WARN Sin dicha propiedad [datePattern] en org.apache.log4j.RollingFileAppender. log4j: WARN Sin dicha propiedad [datePattern] en org.apache.log4j.RollingFileAppender. log4j: WARN No existe dicha propiedad [rollingPolicy] en org.apache.log4j.RollingFileAppender. – linuxatico

Cuestiones relacionadas