<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="600 seconds" debug="false">
? <!--? ? 當(dāng)此屬性設(shè)置為true時(shí),配置文件如果發(fā)生改變,將會(huì)被重新加載运怖,默認(rèn)值為true码邻。(這個(gè)功能可以在不重啟運(yùn)行環(huán)境下,調(diào)整打印日志的細(xì)節(jié)柱彻,方便定位問題)-->
? <!--? ? 設(shè)置監(jiān)測(cè)配置文件是否有修改的時(shí)間間隔幽污,如果沒有給出時(shí)間單位,默認(rèn)單位是毫秒煤墙。當(dāng)scan為true時(shí),此屬性生效宪拥。默認(rèn)的時(shí)間間隔為1分鐘仿野。-->
? <!--? ? 當(dāng)此屬性設(shè)置為true時(shí),將打印出logback內(nèi)部日志信息她君,實(shí)時(shí)查看logback運(yùn)行狀態(tài)脚作。默認(rèn)值為false。-->
? <!--? ? Logger 可以被分配級(jí)別缔刹。級(jí)別包括:TRACE < DEBUG < INFO < WARN < ERROR-->
? <!-- 屬性定義 -->
? <property name="LOG_HOME" value="/root/logs"/>
? <property name="appName" value="shopAdmin"/>
? <property name="maxHistory" value="7"/>
? <!--控制臺(tái)輸出的格式設(shè)置 -->
? <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
? ? <!-- 對(duì)日志進(jìn)行格式化 -->
??
? ? ? <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %logger{50}\(%F %L\) -%msg%n
? ? ? <charset>UTF-8</charset> <!-- 此處設(shè)置字符集 -->
? ? <!-- 只是DEBUG級(jí)別以上的日志才顯示 -->
? ? <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
? ? ? <level>DEBUG
? <!-- INFO級(jí)別日志 -->
? <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
? ? <!-- 過濾器球涛,只記錄「INFO」級(jí)別的日志 -->
? ? <filter class="ch.qos.logback.classic.filter.LevelFilter">
? ? ? <level>INFO
? ? ? <onMatch>ACCEPT
? ? ? <onMismatch>DENY
? ? <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
? ? ? <fileNamePattern>${LOG_HOME}/info/infoLog-%d{yyyy-MM-dd}.%i.txt
? ? ? <maxFileSize>10MB
? ? ? <maxHistory>${maxHistory}
? ? ? <totalSizeCap>64MB
? ? ? <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %logger{50}\(%F %L\) -%msg%n
? ? ? <charset>UTF-8
? <!-- INFO級(jí)別日志 -->
? <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
? ? <!-- 過濾器,只記錄「INFO」級(jí)別的日志 -->
? ? <filter class="ch.qos.logback.classic.filter.LevelFilter">
? ? ? <level>DEBUG
? ? ? <onMatch>ACCEPT
? ? ? <onMismatch>DENY
? ? <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
? ? ? <fileNamePattern>${LOG_HOME}/debug/debugLog-%d{yyyy-MM-dd}.%i.txt
? ? ? <maxFileSize>10MB
? ? ? <maxHistory>${maxHistory}
? ? ? <totalSizeCap>64MB
? ? ? <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %logger{50}\(%F %L\) -%msg%n
? ? ? <charset>UTF-8
? <!-- WARN級(jí)別日志 -->
? <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
? ? <!-- 過濾器校镐,只記錄「WARN」級(jí)別的日志 -->
? ? <filter class="ch.qos.logback.classic.filter.LevelFilter">
? ? ? <level>WARN
? ? ? <onMatch>ACCEPT
? ? ? <onMismatch>DENY
? ? <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
? ? ? <fileNamePattern>${LOG_HOME}/warn/warnLog-%d{yyyy-MM-dd}.%i.txt
? ? ? <maxFileSize>10MB
? ? ? <maxHistory>${maxHistory}
? ? ? <totalSizeCap>64MB
? ? ? <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %logger{50}\(%F %L\) -%msg%n
? ? ? <charset>UTF-8
? <!-- ERROR級(jí)別日志 -->
? <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
? ? <!-- 過濾器亿扁,只記錄「ERROR」級(jí)別的日志 -->
? ? <filter class="ch.qos.logback.classic.filter.LevelFilter">
? ? ? <level>ERROR
? ? ? <onMatch>ACCEPT
? ? ? <onMismatch>DENY
? ? <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
? ? ? <fileNamePattern>${LOG_HOME}/error/errorLog-%d{yyyy-MM-dd}.%i.txt
? ? ? <maxFileSize>10MB
? ? ? <maxHistory>${maxHistory}
? ? ? <totalSizeCap>64MB
? ? ? <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %logger{50}\(%F %L\) -%msg%n
? ? ? <charset>UTF-8
? <!-- logger:日志所處的包 level:日志打印級(jí)別-->
? <root level="debug">
? ? <appender-ref ref="STDOUT"/>
? ? <appender-ref ref="INFO"/>
? ? <appender-ref ref="WARN"/>
? ? <appender-ref ref="ERROR"/>
? ? <appender-ref ref="DEBUG"/>