<?xml version="1.0" encoding="UTF-8"?> <Configuration> <Appenders> <!-- 輸出到控制檯 --> <Console name="CONSOLE" target="SYSTEM_OUT"> <!-- 輸出格式 --> <PatternLayout pattern="ROOT:%d %-5p %C %L - %m%n" /> </Console> <!-- 按天備份一個日誌 --> <!-- fileName爲生成的文件名,x爲路徑,也能夠採用相對路徑模式,filePattern爲時間到達後產生新日誌,舊日誌的文件名 --> <RollingFile name="TASK" fileName="x:/xxxx/logs.log" filePattern="x:/xxxx/logs_%d{yyyy-MM-dd}.log" > <!-- 輸出格式 --> <PatternLayout pattern="%d %-5p %m%n" /> <Policies> <!-- 每1天更新一次,此處查閱網上和官方示例中,都是以小時出現,我測試是以天爲單位。(官方文檔中說明按item類型是不是小時,但沒找到在哪裏設置item類型)另有其餘各種型策略,請參閱官方文檔 --> <!-- TimeBasedTriggeringPolicy須要和filePattern配套使用,因爲filePattern配置的時間最小粒度是dd天,因此表示每一天新建一個文件保存日誌。SizeBasedTriggeringPolicy表示當文件大小大於指定size時,生成新的文件保存日誌。 --> <TimeBasedTriggeringPolicy modulate="true" interval="1" /> <!-- 此處爲每一個文件大小策略限制,使用它通常會在文件中filePattern採用%i模式 --> <!-- <SizeBasedTriggeringPolicy size="128KB" /> --> </Policies> <!-- 最多備份30天之內的日誌,此處爲策略限制,Delete中能夠按本身須要用正則表達式編寫 --> <!-- DefaultRolloverStrategy字段中加入max=「30」經測試是配合SizeBasedTriggeringPolicy限制%i的存在數量,並無發現是網上流傳的是最多保存多少個文件的限制,也或許是我寫的有問題 --> <DefaultRolloverStrategy> <Delete basePath="x:/xxxx" maxDepth="1"> <IfFileName glob="logs_*.log" /> <IfLastModified age="30d" /> </Delete> </DefaultRolloverStrategy> </RollingFile> </Appenders> <!-- 連接到Console和RollingFile標籤實現debug以上等級的輸出 --> <loggers> <root level="debug"> <appender-ref ref="CONSOLE"/> <AppenderRef ref="TASK" /> </root> </loggers> </Configuration>