<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"/>