2012-06-08 9 views
16

Aşağıdaki RollingFileappender benim logback yapılandırma dosyamda var.FileNamePattern in içinde RollingFileAppender - logback Yapılandırma

<appender name="RollingFILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <File>C:\Files\MyLogFile.log</File>  
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
    <FileNamePattern>C:\Files\MyLogFile.%d{yyyy-MM-dd}.log</FileNamePattern>  
    <MaxHistory>30</MaxHistory>  
    </rollingPolicy>  
    <encoder> 
     <pattern>%date %level [%thread] %logger{60} [%file:%line] %msg%n</pattern> 
    </encoder> 
    </appender> 

O MyLogFile.log yukarıdaki dizine bir dosya yazmak yapar ama FileNamePattern belirtilen tarih eklenmiyor. Herhangi bir fikir dosyamame içinde tarihi nasıl ekleyebilirim? Teşekkürler.

+0

Bu da iyi bir soru ve bana da şaşırdı. LogBack, MyLogFile.log dosyasına kayıt tutmaya devam ediyor ve MyLogFile'da hiç bitmiyor.% {Yyyy-MM-dd} .log Bu dosya özelliği için kullanımın ne olduğunu merak ediyorum. –

cevap

25

TimeBasedRollingPolicy ilişkin belgelere: RollingFileAppender içinde file özelliği ( TimeBasedRollingPolicy üst) ayarlamak veya ihmal edilebilir ya da bu

Not. FileAppender'un içerdiği dosya özelliğini ayarlayarak, etkin günlük dosyasının konumunu ve arşivlenen günlük dosyalarının yerini deşifre edebilirsiniz. Geçerli günlükler her zaman belirtilen dosyada file özelliği tarafından hedeflenecektir. Şu anda aktif olan günlük dosyasının adı zamanla değişmeyecektir. Ancak, file özelliğini atlamayı seçerseniz, etkin dosya her dönemi için fileNamePattern değerine bağlı olarak yeniden hesaplanır.

Sizin durumda, yalnızca file özelliğini atlayın.

+0

harikalar çalıştı .. Teşekkürler Ceki. – Aks

+0

web sayfası üzerinde http://logback.qos.ch/manual/appenders.html bozuk, hem dosya hem de fileNamePattern kullanır – Marx

2

Örneğin, aşağıdaki yapılandırmayı kullanabilirsiniz. Test edildi ve çalışıyordu.

<!-- FILE APPENDER WITH PRUDENT MODE --> 
<!-- IN PRUDENT MODE CANNOT BE SPECIFIED FILE, THIS PARAM IS OBTAINED FROM FILE NAME PATTERN --> 
<!-- IN PRUDENT MODE ONLY TIME BASED ROLLING POLICY IS SUPPORTED - BECAUSE WE HAVE A LOG OF MULTIPLE JVM INSTANCES--> 
<!-- SEE MORE AT http://logback.qos.ch/manual/appenders.html#prudentWithRolling --> 
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <prudent>true</prudent> 
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <fileNamePattern>${logfile.path}-%d{yyyy-MM-dd}.log</fileNamePattern> 
    </rollingPolicy> 

    <encoder> 
     <pattern>${HOSTNAME} %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
</appender>