2013-10-10 25 views
6

benim sistem destek ekibi bir maksimum boyutu 10 MB ile bir basit log dosyası ihtiyacı var. Eski günlüklerolabilir, dosya 10MB'ye ulaştığında silindi. Bu yüzden en eski satırları açın.Logback: maksimum dosya boyutu ile bir dosya

Bunun için iyi bir ek nedir? Ben bir appender, ama bu yine boş yeni bir dosya ile daha sonra başlar tekrar ikinci bir dosya oluşturulur ve. Destek ekibimin istediği bu değil.

Yardım memnuniyetle karşılanır.

<configuration> 
    <appender name="TEST" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <file>${LOG_HOME}/test.log</file> 
     <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
      <fileNamePattern>${LOG_HOME}/test.%i.log</fileNamePattern> 
      <minIndex>1</minIndex> 
      <maxIndex>1</maxIndex> 
     </rollingPolicy> 
     <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
      <maxFileSize>10MB</maxFileSize> 
     </triggeringPolicy> 
     <encoder> 
      <pattern>%date %-5level [%thread] - %mdc{loginName} - [%logger]- %msg%n</pattern> 
     </encoder> 
    </appender> 

    <root level="DEBUG"> 
    <appender-ref ref="FILE" /> 
    </root> 
</configuration> 

cevap

4

tek bir dosyada herşeyi tutulması ve en eski çizgileri silme gerçekten çok düşük performans sararken sürekli En son ekleme. Bunu yapmak için logback yapılamayacağından şüpheleniyorum.

Önerdiğim, normal boyut tabanlı ilkeleri kullanmanız, 10MB sınırınızın içinde kalmasını sağlayacak şekilde yapılandırmanız ve daha sonra bunları yakaladığınızda dosyaları birleştirmenizdir.