2013-03-21 85 views
2

我使用Logback 1.0.10,我試圖讓日誌文件滾動工作,但無論我做什麼,每當新的一天到來,它只是截斷日誌文件。Logback基於日期的文件滾動似乎沒有工作

任何想法?我使用Java 6,這是爲了在Windows 2008服務器上的Tomcat 6中運行的web應用程序。

<?xml version="1.0" encoding="UTF-8" ?> 
<configuration scan="true" scanPeriod="10 seconds"> 

    <!--Daily rolling file appender --> 
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 

     <file>${log.dir}/${log.name}.log</file> 

     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <FileNamePattern>${log.name}.%d{yyyy-MM-dd}.log</FileNamePattern> 
     </rollingPolicy> 

     <encoder> 
      <pattern>%d %-5level %logger{35} - %msg%n</pattern> 
     </encoder> 
    </appender> 

    <root> 
     <level value="${log.level}" /> 
     <appender-ref ref="FILE" /> 
    </root> 

</configuration> 
+0

嘗試刪除'FileNamePattern'標記中的'.log'。 – Anubhab 2013-03-21 11:56:32

+0

@Anubhab:但看看[示例](http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy),它不應該是必要的:/ – damd 2013-03-21 12:07:50

+0

也從我看到的例子'%d'將採取默認每日滾動..所以你可以省略明確提到:) – Anubhab 2013-03-21 12:16:23

回答

2

我現在意識到,我在FileNamePattern和噹噹忘記${log.dir},舊的日誌文件是在父目錄。