2012-06-08 21 views
16

Mam następujący plik RollingFileappender w moim pliku konfiguracyjnym logowania.FileNamePattern w RollingFileAppender - konfiguracja logback

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

Czyni zapisać plik do powyższego katalogu co MyLogFile.log ale nie dołączyć datę, jak określono w FileNamePattern. Wszelkie pomysły, w jaki sposób mogę dodać datę do pliku nazwa_pliku. Dzięki.

+0

To jest dobre pytanie i też mnie zdezorientowało. LogBack ciągle loguje się do MyLogFile.log i nigdy nie kończy się na MyLogFile.% {Rrrr-MM-dd} .log Zastanawiam się, co to jest użycie dla tej właściwości pliku. –

Odpowiedz

25

Dokumentacja TimeBasedRollingPolicy stanach:

pamiętać, że hotel file w RollingFileAppender (rodzicem TimeBasedRollingPolicy) może być ustalona lub pominięte. Ustawiając właściwość pliku zawierającą FileAppender, można odłączyć lokalizację aktywnego pliku dziennika i lokalizację zarchiwizowanych plików dziennika z archiwum . Bieżące dzienniki będą zawsze kierowane na plik określony pod numerem przez właściwość file. Wynika z tego, że nazwa aktualnie aktywnego pliku dziennika nie zmieni się z czasem. Jeśli jednak zdecydujesz się ominąć właściwość file, aktywny plik zostanie obliczony ponownie dla każdego okresu na podstawie wartości fileNamePattern.

W twoim przypadku po prostu pomiń właściwość file.

+0

pracował cudami.. Dzięki Ceki. – Aks

+0

przykład na stronie internetowej http://logback.qos.ch/manual/appenders.html jest uszkodzony, używa zarówno pliku, jak i fileNamePattern – Marx

2

Na przykład można użyć następującej konfiguracji. Zostało przetestowane i działa :)

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