2017-04-05 81 views
1

下面是我的logback配置的logback滾動文件附加器不能正常工作

<appender name="TIME_BASED_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>C:\\Users\\ADMIN\\Documents\\NetBeansProjects\\timelog.log</file> 
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">  
     <!-- daily rollover --> 
     <fileNamePattern>C:\\Users\\ADMIN\\Documents\\NetBeansProjects\\timelog.%d{yyyy-MM-dd-HH-mm}.log</fileNamePattern> 
     <maxHistory>30</maxHistory> 
     <maxFileSize>1M</maxFileSize> 
     <totalSizeCap>10M</totalSizeCap> 

    </rollingPolicy> 
    <encoder> 
     <pattern>%relative [%thread] %-5level %logger{35} - %msg%n</pattern> 
    </encoder> 
    </appender> 

    <logger name="timeBased" level="INFO"> 
    <appender-ref ref="TIME_BASED_FILE"/> 
    <appender-ref ref="consoleAppender"/> 
    </logger> 

代碼:

public class Test { 
    public static void main(String [] args) { 
     Logger logger = (Logger)LoggerFactory.getLogger("timeBased"); 
     logger.info("info"); 
    } 
} 

此代碼僅在控制檯上打印,在指定目錄中創建任何文件。文件夾具有所有寫入權限。出了什麼問題? Logback也不顯示任何錯誤。請幫忙。我正在使用Windows7。

+0

當日志配置文件? –

+0

它在項目類路徑中。得到拾取,我通過更改編碼器模式等 – Shades88

回答

1

您需要更換M至MB和正確的文件名模式 下面的例子爲我工作:

<appender name="TIME_BASED_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>C:\\Users\\ADMIN\\Documents\\NetBeansProjects\\timelog.log</file> 
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> 
     <!-- daily rollover --> 
     <fileNamePattern>C:\\Users\\admin\\Documents\\NetBeansProjects\\timelog.%d{yyyy-MM-dd-HH-mm}.%i.log</fileNamePattern> 
     <maxHistory>30</maxHistory> 
     <maxFileSize>1MB</maxFileSize> 
     <totalSizeCap>10MB</totalSizeCap> 

    </rollingPolicy> 
    <encoder > 
     <pattern>%relative [%thread] %-5level %logger{35} - %msg%n</pattern> 
    </encoder> 
</appender> 
+0

我試過你的suggesstions,仍然沒有。這是一些系統問題還是什麼? – Shades88

+0

@ Shades88我不知道沒有日誌。檢查是否有對該目錄的寫入權限。 – rvit34

+0

嘿,M到MB和缺少%我是缺少的部分。我粘貼你給的配置,但忘記了正確的日誌路徑。非常感謝,現在有效 – Shades88