Log4j2 yml如何配置刪除歷史日誌文件
百度了好多對於這塊說的都說不是很清楚,所以試了好多次,最終可以刪除歷史的日誌。
配置可以參考如下代碼
Configuration:
status: warn
monitorinterval: 5
Properties: # 定義全局變量
Property: # 缺省配置(用於開發環境)。其他環境需要在VM參數中指定,如下:
- name: log.level.console
value: info
- name: log.path
#日誌存放路徑
value: ../logs
- name: project.name
#項目名稱
value: xxxx
Appenders:
Console: #輸出到控制檯
name: CONSOLE
target: SYSTEM_OUT
ThresholdFilter:
level: ${sys:log.level.console} # “sys:”表示:如果VM參數中沒指定這個變量值,則使用本文件中定義的缺省全局變量值
onMatch: ACCEPT
onMismatch: DENY
PatternLayout:
#顯示日誌模板
pattern: "%highlight{%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n}{STYLE=Logback}"
RollingFile:
- name: ROLLING_FILE
ignoreExceptions: false
fileName: ${log.path}/${project.name}.log
filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log"
PatternLayout:
#日誌
pattern: "%highlight{%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n}{STYLE=Logback}"
Policies:
SizeBasedTriggeringPolicy:
#文件超過多少進行切割
size: "100 MB"
DefaultRolloverStrategy:
#當天最多有多少個文件存在
max: 5
#重點刪除規則
Delete:
#刪除文件的根路徑
basePath: ${log.path}
maxDepth: 2
IfFileName:
#刪除日誌匹配規則
glob: "${project.name}-*.log"
IfLastModified:
#保留多少天的日誌
age: "20d"
Loggers:
Root:
level: info
AppenderRef:
- ref: CONSOLE
- ref: ROLLING_FILE
註釋說明已經很完整了。
參考:log4j2官網