2012-09-04 34 views
7

Hola, estoy usando Log4j para el registro. A continuación está mi configuración.¿Cómo se usa SizeBasedTriggeringPolicy con TimeBasedRollingPolicy en 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> 

Pero cuando estoy ejecutando el archivo está arrojando el siguiente error.

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

Cómo puedo solucionar esto. Por favor, ayúdame.

+1

Solo una suposición, pero ¿intentó reemplazar 3kb por 3072? En JavaDoc (http://goo.gl/ahbl8) encontré "Establece el tamaño del umbral de sustitución en bytes", por lo que creo que no puede pasar el valor con KB, MB u otro sufijo. –

+0

Consulte mi respuesta a una pregunta similar: http://stackoverflow.com/questions/13936021/rolling-logs-by-size-and-time/14202093#14202093 –

+0

@Samurai, ¿ha encontrado la solución para esto? – vijendra

Respuesta

0

acaba de pasar a venir a través de esta pregunta y pensé que debería compartir la solución:

establecer el parámetro MaxFileSize a un valor en bytes, por lo que por su ejemplo se debe establecer como

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

Here es una pregunta similar donde se confirma esta solución.

2

Si está utilizando Log4j 2, puede especificar el tamaño en KB o MB.

XML relevante a continuación.

<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 

Por favor, vea https://logging.apache.org/log4j/2.x/manual/appenders.html para más detalles.