<contextName>SpringBootDrugLogbacK</contextName>
<!--設置系統日志放置路徑,可為絕對路徑,也可為相對路徑,我這里是放到D盤-->
<property name="LOG_PATH" value="D:/" />
<!--<property name="LOG_PATH" value="./" />-->
<!--設置系統日志目錄-->
<property name="APPDIR" value="log" />
<!--設置系統日志放置項目目錄,可不配置-->
<property name="PROJECTDIR" value="drug" />
<!-- 日志記錄器,日期滾動記錄 -->
<appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在記錄的日志文件的路徑及文件名 -->
<!--<file>${LOG_PATH}/${APPDIR}/${PROJECTDIR}/log_error.log</file>-->
<!-- 日志記錄器的滾動策略,按日期,按大小記錄 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件的路徑,例如今天是2017-09-21日志,當前寫的日志文件路徑為file節點指定,可以將此文件與file指定文件路徑設置為不同路徑,從而將當前日志文件或歸檔日志文件置不同的目錄。
而2017-09-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
<fileNamePattern>${LOG_PATH}/${APPDIR}/${PROJECTDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 除按日志記錄之外,還配置了日志文件不能超過2M,若超過2M,日志文件會以索引0開始, 命名日志文件,例如log-error-2017-09-21.0.log -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!-- 追加方式記錄日志 -->
<append>true</append>
<!-- 日志文件的格式 -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>==**error**==%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<!-- 此日志文件只記錄error級別的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>error</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 日志記錄器,日期滾動記錄 -->
<appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在記錄的日志文件的路徑及文件名 -->
<!--<file>${LOG_PATH}/${APPDIR}/${PROJECTDIR}/log_debug.log</file>-->
<!-- 日志記錄器的滾動策略,按日期,按大小記錄 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 歸檔的日志文件的路徑,例如今天是2017-09-21日志,當前寫的日志文件路徑為file節點指定,可以將此文件與file指定文件路徑設置為不同路徑,從而將當前日志文件或歸檔日志文件置不同的目錄。
而2017-09-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
<fileNamePattern>${LOG_PATH}/${APPDIR}/${PROJECTDIR}/debug/log-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 除按日志記錄之外,還配置了日志文件不能超過2M,若超過2M,日志文件會以索引0開始,命名日志文件,例如log-error-2017-09-21.0.log -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>50KB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!-- 追加方式記錄日志 -->
<append>true</append>
<!-- 日志文件的格式 -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>==**debug**==%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<!-- 此日志文件只記錄debug級別的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>debug</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 日志記錄器,日期滾動記錄 -->
<appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在記錄的日志文件的路徑及文件名 -->
<!-- <file>${LOG_PATH}/${APPDIR}/${PROJECTDIR}/log_info.log</file>-->
<!-- 日志記錄器的滾動策略,按日期,按大小記錄 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 歸檔的日志文件的路徑,例如今天是2017-09-21日志,當前寫的日志文件路徑為file節點指定,可以將此文件與file指定文件路徑設置為不同路徑,從而將當前日志文件或歸檔日志文件置不同的目錄。
而2017-09-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
<fileNamePattern>${LOG_PATH}/${APPDIR}/${PROJECTDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 除按日志記錄之外,還配置了日志文件不能超過2M,若超過2M,日志文件會以索引0開始, 命名日志文件,例如log-error-2017-09-21.0.log -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!-- 追加方式記錄日志 -->
<append>true</append>
<!-- 日志文件的格式 -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>==**info**==%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<!-- 此日志文件只記錄info級別的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 日志記錄器,日期滾動記錄 -->
<appender name="mybatis" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在記錄的日志文件的路徑及文件名 -->
<!--<file>${LOG_PATH}/${APPDIR}/${PROJECTDIR}/log_mybatis.log</file>-->
<!-- 日志記錄器的滾動策略,按日期,按大小記錄 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 歸檔的日志文件的路徑,例如今天是2017-09-21日志,當前寫的日志文件路徑為file節點指定,可以將此文件與file指定文件路徑設置為不同路徑,從而將當前日志文件或歸檔日志文件置不同的目錄。
而2017-09-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
<fileNamePattern>${LOG_PATH}/${APPDIR}/${PROJECTDIR}/mybatis/log-mybatis-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 除按日志記錄之外,還配置了日志文件不能超過10M,若超過10M,日志文件會以索引0開始, 命名日志文件,例如log-mybatis-2017-09-21.0.log -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!-- 追加方式記錄日志 -->
<append>true</append>
<!-- 日志文件的格式 -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>==**mybatis**==%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<!-- 此日志文件只記錄debug級別的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- <level>trace</level> -->
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 為單獨的包配置日志級別,若root的級別大於此級別, 此處級別也會輸出 應用場景:生產環境一般不會將日志級別設置為trace或debug,但是為詳細的記錄SQL語句的情況, 可將mybatis的級別設置為debug -->
<!-- 配置mybatis打印SQL日志,按包所在目錄配置 -->
<logger name="com.hd.wms.dao" level="debug" additivity="true">
<appender-ref ref="mybatis" />
</logger>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!--encoder 默認配置為PatternLayoutEncoder-->
<encoder>
<pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<!--此日志appender是為開發使用,只配置最底級別,控制台輸出的日志級別是大於或等於此級別的日志信息-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>debug</level>
</filter>
</appender>
<!-- 生產環境下,將此級別配置為適合的級別,以免日志文件太多或影響程序性能 -->
<logger name="com.hd" level="debug" additivity="false">
<appender-ref ref="error" />
<appender-ref ref="debug" />
<appender-ref ref="info" />
<!-- 生產環境將請 stdout 去掉 -->
<appender-ref ref="STDOUT" />
</logger>
<root level="debug">
<!-- 生產環境將請 stdout 去掉 -->
<appender-ref ref="STDOUT" />
</root>
<logger name="javax.activation" level="WARN"/>
<logger name="javax.mail" level="WARN"/>