Spring?boot2.0?實現(xiàn)日志集成的方法(2)
前言:
上一章Spring boot2.0 日志集成方法分享(1)講解了spring boot日志簡單集成,將所有的日志都輸出到一個文件中,但是在實際的項目中,我們需要將日志進行分類,常規(guī)日志、異常日志、監(jiān)控日志等,需要將日志輸出到不同的文件中。spring boot 日志默認采用的是sf4j+logback實現(xiàn),默認配置文件為logback-spring.xml,如果需要輸出到不同的文件,需要自定義logback.xml文件。
logback.xml配置文件定義
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_PATTERN" value="%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
<property name="LOG_PATH" value="/logs"/>
<!--控制臺日志格式-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="UTF-8">
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!--系統(tǒng)INFO級別日志-->
<appender name="SYS_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/info.log</File>
<append>true</append>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/info-%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<maxHistory>15</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder charset="UTF-8">
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!--系統(tǒng)EEOR級別日志-->
<appender name="SYS_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/error.log</File>
<append>true</append>
<!--error級別日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/error-%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<maxHistory>15</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder charset="UTF-8">
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="SYS_INFO"/>
<appender-ref ref="SYS_ERROR"/>
</root>
</configuration>配置說明 上述配置定義了info和error級別日志,分別輸出到不同的日志文件。日志文件采用的滾動策略,每個文件大小為10M,建議保存的日期為15天,便于有些異常具備以周為頻次發(fā)生的特點。
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/error-%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<maxHistory>15</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>引用自定義logback.xml文件
在項目的application.yml文件中配置如下信息
logging: config: classpath:logback.xml
附加說明
默認情況下日志配置文件存放在classpath路徑下,項目打包后日志配置文件存放在jar包中,如果需要修改日志文件的信息(例如修改存放路徑),需要重新打包,即為不方便,解決方案為將日志配置文件提取到項目外,引入外部的logback.xml文件
logging: config: file:config/logback.xml
file:文件的相對路徑。
本文主要講解的為常規(guī)日志和異常日志,下一張講解監(jiān)控日志輸出。
到此這篇關于Spring boot2.0 實現(xiàn)日志集成的方法(2)的文章就介紹到這了,更多相關Spring boot日志集成內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaEE開發(fā)基于Eclipse的環(huán)境搭建以及Maven Web App的創(chuàng)建
本文主要介紹了如何在Eclipse中創(chuàng)建的Maven Project,本文是JavaEE開發(fā)的開篇,也是基礎。下面內容主要包括了JDK1.8的安裝、JavaEE版本的Eclipse的安裝、Maven的安裝、Tomcat 9.0的配置、Eclipse上的M2Eclipse插件以及STS插件的安裝。2017-03-03
Java char[]數(shù)組轉成String類型詳細介紹
這篇文章詳細介紹了Java char[]數(shù)組轉成String類型(char to String)的方法,文章中有詳細的代碼示例,需要的朋友可以參考閱讀2023-04-04
Java中Future、FutureTask原理以及與線程池的搭配使用
這篇文章主要為大家詳細介紹了Java中Future、FutureTask原理以及與線程池的搭配使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-09-09
spring 或者spring boot 調整bean加載順序的方式
這篇文章主要介紹了spring 或者spring boot 調整bean加載順序的方式,本文通過實例代碼講解三種調整類加載順序的方式,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03

