2011-11-25 2 views
9

Il sistema attuale funziona come previsto ei file di registro vengono rotolato una volta un hr secondo la logica di seguito:log4j: Rolling log in file .gz con DailyRollingFileAppender utilizzando 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 

posso capire che a rotazione di il file di registro direttamente in un file compresso (.gz o .zip) è possibile con RollingFileAppender (rolling in base alla dimensione del file) utilizzando TimeBasedRollingPolicy. Sto usando DailyRollingFileAppender (time based rolling) e vorrei ottenere una compressione con quello. Ho modificato le mie proprietà come segue. Ma questo non funziona.

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 

Qualsiasi suggerimento sarebbe molto apprezzato. Ecco alcuni link rilevanti.

Configuring RollingFileAppender in log4j

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

+1

hai trovato una soluzione per questo? vedo lo stesso – javagirl

risposta

2

Perdono la mia sorpresa, ma il link esatto avete dato sopra si dice nella risposta accettata:

noti che TimeBasedRollingPolicy può essere configurato solo con XML, non log4j.properties

Hai provato a riscrivere la configurazione in XM L formato?

+2

Grazie per la tua risposta..Nel link che avevo postato, una delle risposte dice "Questo problema è stato risolto in log4j v1.2.16. ora supporta l'impostazione rollingPolicy tramite il file delle proprietà. issues.apache.org/ Bugzilla/show_bug.cgi? id = 36384" . Non ho provato a riscrivere in XML poiché sarebbe un grosso cambiamento (è necessario riscrivere per più logger che sono già presenti con intervalli di laminazione diversi) e quindi cercheremmo di ottenere ciò usando il file delle proprietà stesso. – userkn87

2

prova a seguire, per me funziona:

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

Non funziona su commons-logging-1.1.1 (con log4j.log4j: 1.2.12), l'errore è log4j: WARN Nessuna proprietà [rollingPolicy] in org.apache.log4j.RollingFileAppender. log4j: WARN Nessuna proprietà [datePattern] in org.apache.log4j.RollingFileAppender. log4j: WARN Nessuna proprietà [datePattern] in org.apache.log4j.RollingFileAppender. log4j: WARN Nessuna proprietà [rollingPolicy] in org.apache.log4j.RollingFileAppender. – linuxatico