spring boot中logback-spring.xml配置
阿新 • • 發佈:2019-02-09
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <contextName>lkker.evaluation_service</contextName> <property name="log.path" value="logs" /> <!--輸出到控制檯--> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder charset="UTF-8"> <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>--> <pattern>%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %cyan(%msg%n)</pattern> </encoder> </appender> <!-- 日誌記錄器,日期滾動記錄——info --> <appender name="FILE_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在記錄的日誌檔案的路徑及檔名 --> <file>logs/log-info.log</file> <!-- 追加方式記錄日誌 --> <append>true</append> <!-- 日誌記錄器的滾動策略,按日期,按大小記錄 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 歸檔的日誌檔案的路徑,例如今天是2013-12-21日誌,當前寫的日誌檔案路徑為file節點指定, 可以將此檔案與file指定檔案路徑設定為不同路徑,從而將當前日誌檔案或歸檔日誌檔案置不同的目錄。 而2013-12-21的日誌檔案在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> <fileNamePattern>${log.path}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!-- 除按日誌記錄之外,還配置了日誌檔案不能超過2M,若超過2M,日誌檔案會以索引0開始, 命名日誌檔案,例如log-info-2013-12-21.0.log --> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>2MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--只保留最近90天的日誌--> <!--<maxHistory>90</maxHistory>--> <!--用來指定日誌檔案的上限大小,那麼到了這個值,就會刪除舊的日誌--> <!--<totalSizeCap>1GB</totalSizeCap>--> </rollingPolicy> <!-- 日誌檔案的格式 --> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %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> <!-- 日誌記錄器,日期滾動記錄——WARN --> <appender name="FILE_WARN" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在記錄的日誌檔案的路徑及檔名 --> <file>logs/log-warn.log</file> <!-- 追加方式記錄日誌 --> <append>true</append> <!-- 日誌記錄器的滾動策略,按日期,按大小記錄 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 歸檔的日誌檔案的路徑,例如今天是2013-12-21日誌,當前寫的日誌檔案路徑為file節點指定, 可以將此檔案與file指定檔案路徑設定為不同路徑,從而將當前日誌檔案或歸檔日誌檔案置不同的目錄。 而2013-12-21的日誌檔案在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> <fileNamePattern>${log.path}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!-- 除按日誌記錄之外,還配置了日誌檔案不能超過2M,若超過2M,日誌檔案會以索引0開始, 命名日誌檔案,例如log-warn-2013-12-21.0.log --> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>2MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--只保留最近90天的日誌--> <!--<maxHistory>90</maxHistory>--> <!--用來指定日誌檔案的上限大小,那麼到了這個值,就會刪除舊的日誌--> <!--<totalSizeCap>1GB</totalSizeCap>--> </rollingPolicy> <!-- 日誌檔案的格式 --> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger Line:%-3L - %msg%n</pattern> <charset>utf-8</charset> </encoder> <!-- 此日誌檔案只記錄warn級別的 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>warn</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 日誌記錄器,日期滾動記錄——ERROR --> <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在記錄的日誌檔案的路徑及檔名 --> <file>logs/log-error.log</file> <!-- 追加方式記錄日誌 --> <append>true</append> <!-- 日誌記錄器的滾動策略,按日期,按大小記錄 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 歸檔的日誌檔案的路徑,例如今天是2013-12-21日誌,當前寫的日誌檔案路徑為file節點指定, 可以將此檔案與file指定檔案路徑設定為不同路徑,從而將當前日誌檔案或歸檔日誌檔案置不同的目錄。 而2013-12-21的日誌檔案在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> <fileNamePattern>${log.path}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!-- 除按日誌記錄之外,還配置了日誌檔案不能超過2M,若超過2M,日誌檔案會以索引0開始, 命名日誌檔案,例如log-error-2013-12-21.0.log --> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>2MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--只保留最近90天的日誌--> <!--<maxHistory>90</maxHistory>--> <!--用來指定日誌檔案的上限大小,那麼到了這個值,就會刪除舊的日誌--> <!--<totalSizeCap>1GB</totalSizeCap>--> </rollingPolicy> <!-- 日誌檔案的格式 --> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %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> <!-- 輸出到sentry --> <appender name="Sentry" class="io.sentry.logback.SentryAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>WARN</level> </filter> </appender> <logger name="com.lkker" level="INFO" /> <logger name="org.springframework" level="INFO"/> <logger name="org.hibernate" level="INFO"/> <!--<root level="info"> <appender-ref ref="console" /> <appender-ref ref="file" /> <appender-ref ref="Sentry"/> </root>--> <!-- 多配製環境設定 --> <springProfile name="dev"> <root level="info"> <appender-ref ref="console" /> </root> </springProfile> <springProfile name="test"> <root level="info"> <appender-ref ref="FILE_INFO" /> <appender-ref ref="FILE_WARN" /> <appender-ref ref="FILE_ERROR" /> <appender-ref ref="Sentry"/> </root> </springProfile> <springProfile name="prod"> <root level="info"> <appender-ref ref="FILE_INFO" /> <appender-ref ref="FILE_WARN" /> <appender-ref ref="FILE_ERROR" /> <appender-ref ref="Sentry"/> </root> </springProfile> </configuration>
這個是根據日誌級別進行區別收集,在程式碼中針對重要的資訊進行收集。
預設配置在resources下面——logback-spring.xml
參考部落格地址:
官網文件地址: