Log4j2 yml配置

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

發佈了9 篇原創文章 · 獲贊 1 · 訪問量 3721
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章