<?xml version="1.0" encoding="utf-8" ?>
<!-- 外層節點-->
<!-- debug:是否打印logback內部日志。
scan: 默認true。表示配置文件發生變化時重新加載
scanPeriod:單位默認毫秒。表示配置文件加載間隔時間。scan=true時生效-->
<configuration scan="true" debug="true" scanPeriod="1 seconds">
<!-- 自定義變量標簽。可使用${APP_NAME}方式調用 。可定義多個標簽-->
<property name="APP_NAME" value="webA"/>
<!-- 上下文名稱,可在encoder標簽里調用:調用方式%cn-->
<contextName>${APP_NAME}}</contextName>
<!-- 輸出標簽 -->
<!-- append=true表示在日志里追加新內容 。ConsoleAppender控制台輸出 -->
<appender name="stdout" append="true" class="ch.qos.logback.core.ConsoleAppender">
<!-- 過濾器(可選屬性),通過過濾器可額外加一些控制-。filter可自定義,,logback也有封裝好的-->
<!-- LevelFilter 准備匹配,只過濾輸出error級別-->
<!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMisMatch>DENY</onMisMatch>
</filter>-->
<!-- ThresholdFilter 閥門攔截過濾。只輸出info及以上級別的日志-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<!--控制輸出格式 -->
<encoder>
<!-- %cn:上下文。%d日期。%level:日志級別 %msg:日志信息 %n換行-->
<pattern>%cn %d %M [%level] %msg%n</pattern>
</encoder>
</appender>
<!-- 日志滾動輸出到文件-->
<appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志文件名-->
<file>webA_info.log</file>
<!-- 日志滾動規則 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- %d{yyyy-MM-dd}按天回滾日志-->
<fileNamePattern>webA_info_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 上面設置的按天回滾,所以這里30代表的30天。最大保存歷史30天-->
<maxHistory>30</maxHistory>
<!-- 單個日志最大存儲-->
<maxFileSize>100MB</maxFileSize>
<!--最大日志存儲空間-->
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%cn %d %M [%level] %msg%n</pattern>
</encoder>
</appender>
<!-- 日志滾動輸出到文件-->
<appender name="ErrorRollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志文件名-->
<file>webA_error.log</file>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<!-- 日志滾動規則 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- %d{yyyy-MM-dd}按天回滾日志-->
<fileNamePattern>webA_error_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 上面設置的按天回滾,所以這里30代表的30天。最大保存歷史30天-->
<maxHistory>30</maxHistory>
<!-- 單個日志最大存儲-->
<maxFileSize>100MB</maxFileSize>
<!--最大日志存儲空間-->
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%cn %d %M [%level] %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="stdout"/>
<appender-ref ref="rollingFile"/>
<appender-ref ref="ErrorRollingFile"/>
</root>
<!-- class類里引用該logger的按一下規則輸出 additivity="false"表示不適用root打出日志-->
<logger name="errorLogger" level="error" additivity="false">
<appender-ref ref="ErrorRollingFile"/>
</logger>
</configuration>