2012-09-04 17 views
7

Witam Używam Log4j do rejestrowania. Poniżej znajduje się moja konfiguracja.Jak korzystać z SizeBasedTriggeringPolicy z TimeBasedRollingPolicy w 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> 

Ale kiedy używam plik jest rzucanie poniżej błędu.

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

Jak mogę to naprawić. Proszę pomóż mi.

+1

Tylko zgadnij, ale czy próbowałeś zastąpić 3kb 3072? W JavaDoc (http://goo.gl/ahbl8) znalazłem "Ustawia rozmiar progu rollover w bajtach", więc myślę, że nie możesz przekazać wartości KB, MB lub innym sufiksem. –

+0

Zobacz moją odpowiedź na podobne pytanie: http://stackoverflow.com/questions/13936021/rolling-logs-by-size-and-time/14202093#14202093 –

+0

@ Samurai, znalazłeś rozwiązanie dla tego? – vijendra

Odpowiedz

0

akurat natknąć to pytanie i pomyślałem, że powinien dzielić rozwiązanie:

ustawić param MaxFileSize do wartości w bajtach, tak dla przykładu należy ustawić go jako

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

Here to podobne pytanie, w którym to rozwiązanie jest potwierdzone.

2

Jeśli używasz Log4j 2, możesz określić rozmiar w KB lub MB.

Odpowiednie XML poniżej.

<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 

Aby uzyskać więcej informacji, zobacz numer https://logging.apache.org/log4j/2.x/manual/appenders.html.