2012-09-04 17 views
7

Ciao sto usando Log4j per la registrazione. Di seguito è la mia configurazione.Come utilizzare SizeBasedTriggeringPolicy con TimeBasedRollingPolicy in Log4j?

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration debug="true" 
xmlns:log4j='http://jakarta.apache.org/log4j/'> 

<appender name="FileAppender_Comp3" class="org.apache.log4j.rolling.RollingFileAppender"> 

<rollingPolicy name="file" class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> 
<param name="FileNamePattern" value="log/Comp3_%d{dd-MM-yyyy HH-mm-ss}.log" /> 
</rollingPolicy> 

<triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy"> 
<param name="MaxFileSize" value="3kb"/> 
</triggeringPolicy> 

<layout class="org.apache.log4j.PatternLayout"> 
<param name="ConversionPattern" value="%d %5p [%t] %c (%F:%L) - %m%n"/> 
</layout> 

</appender> 

Ma quando eseguo il file, viene visualizzato l'errore di errore.

log4j:WARN Failed to set property [maxFileSize] to value "3kb". 

Come posso risolvere questo problema. Mi aiuti per favore.

+1

Solo un'ipotesi, ma hai provato a sostituire 3kb con 3072? Nel JavaDoc (http://goo.gl/ahbl8) ho trovato "Imposta la dimensione della soglia di rollover in byte", quindi penso che non è possibile passare il valore con KB, MB o un altro suffisso. –

+0

Vedere la mia risposta a una domanda simile: http://stackoverflow.com/questions/13936021/rolling-logs-by-size-and-time/14202093#14202093 –

+0

@Samurai, hai trovato la soluzione per questo? – vijendra

risposta

0

appena capitato di imbattersi in questa domanda e pensato che avrei dovuto condividere la soluzione:

impostare il parametro MaxFileSize a un valore in byte, quindi per il vostro esempio, si impostarlo come

<param name="MaxFileSize" value="3072"/> 

Here è una domanda simile dove viene confermata questa soluzione.

2

Se si utilizza Log4j 2, è possibile specificare la dimensione in KB o MB.

XML pertinente sotto.

<Policies> 
    <!-- Starts a new log on tomcat start --> 
    <OnStartupTriggeringPolicy /> 
    <!-- Starts a new file when size reaches threshold --> 
    <SizeBasedTriggeringPolicy size="10 MB" /> 
    <!-- causes a rollover once the date/time pattern no longer 
     applies to the active file --> 
    <TimeBasedTriggeringPolicy /> 
</Policies 

Vedere https://logging.apache.org/log4j/2.x/manual/appenders.html per ulteriori dettagli.