<?xml version="1.0" encoding="UTF-8"?>
<!--
status="warn" 日誌框架本身的輸出日誌級別
monitorInterval="5" 自動加載配置文件的間隔時間,不低於 5 秒
-->
<Configuration status="debug" monitorInterval="5">
<!--
集中配置屬性進行管理
使用時通過:${name}
-->
<properties>
<property name="LOG_HOME">/logs</property>
</properties>
<!--日誌處理-->
<Appenders>
<!--控制檯輸出 appender-->
<Console name="Console" target="SYSTEM_ERR">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] [%-5level] %c{36}:%L --- %m%n" />
</Console>
<!--日誌文件輸出 appender-->
<File name="file" fileName="${LOG_HOME}/myfile.log">
<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %m%n" />
</File>
<!--<Async name="Async">-->
<!--<AppenderRef ref="file"/>-->
<!--</Async>-->
<!--使用隨機讀寫劉的日誌文件輸出 appender,性能提高-->
<RandomAccessFile name="accessFile" fileName="${LOG_HOME}/myAcclog.log">
<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %m%n" />
</RandomAccessFile>
<!--按照一定規則拆分的日誌文件的 appender-->
<RollingFile name="rollingFile" fileName="${LOG_HOME}/myrollog.log"
filePattern="/logs/$${date:yyyy-MM-dd}/myrollog-%d{yyyy-MM-dd-HH-mm}-%i.log">
<!--日誌級別過濾器-->
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY" />
<!--日誌消息格式-->
<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %msg%n" />
<Policies>
<!--在系統啓動時,出發拆分規則,生產一個新的日誌文件-->
<OnStartupTriggeringPolicy />
<!--按照文件大小拆分,10MB -->
<SizeBasedTriggeringPolicy size="10 MB" />
<!--按照時間節點拆分,規則根據filePattern定義的-->
<TimeBasedTriggeringPolicy />
</Policies>
<!--在同一個目錄下,文件的個數限定爲 30 個,超過進行覆蓋-->
<DefaultRolloverStrategy max="30" />
</RollingFile>
</Appenders>
<!--logger 定義-->
<Loggers>
<Root level="trace">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>