2012-09-04 22 views
7

Merhaba Kayıt için Log4j kullanıyorum. Aşağıda benim yapılandırmam.SizeBasedTriggeringPolicy nasıl kullanılır TimeBasedRollingPolicy Log4j içinde?

<?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> 

Ancak dosya çalıştırdığımda aşağıdaki hatayı atar.

Bunu nasıl düzeltebilirim? Lütfen bana yardım et.

+1

Sadece bir tahmin, ama 3072 ile 3kb değiştirmeyi denedin mi? JavaDoc'ta (http://goo.gl/ahbl8) "Toplayıcıyı rollover eşiğini bayt olarak ayarlar" ı buldum, bu yüzden değeri KB, MB veya başka bir sonekle geçiremezsiniz. –

+0

Benzer bir soruya verdiğim yanıtı şu adreste görebilirsiniz: http://stackoverflow.com/questions/13936021/rolling-logs-by-size-and-time/14202093#14202093 –

+0

@Samurai, bunun için bir çözüm buldunuz mu? – vijendra

cevap

0

sadece bu soruya rastlamak oldu ve ben çözüm paylaşmalıdır düşünce: En örneğin sen

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

Here olarak ayarlamak diye, bayt bir değere MaxFileSize param set

Bu çözümün doğrulandığı benzer bir sorudur.

2

Log4j 2 kullanıyorsanız, boyutu KB veya MB olarak belirtebilirsiniz.

İlgili XML.

<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 

Ayrıntılar için lütfen https://logging.apache.org/log4j/2.x/manual/appenders.html'a bakın.

İlgili konular