Springboot學習筆記【1】:日誌的使用

一. springboot中使用日誌並不是用傳統的log4j。

需要的依賴包如下:

<dependency>

<groupId>org.slf4j</groupId>

<artifactId>slf4j-api</artifactId>

<version>1.7.25</version>

</dependency>

<dependency>

<groupId>ch.qos.logback</groupId>

<artifactId>logback-core</artifactId>

<version>1.1.11</version>

</dependency>

<dependency>

<groupId>ch.qos.logback</groupId>

<artifactId>logback-classic</artifactId>

<version>1.1.11</version>

二. 配置文件在resources根目錄下:

 

記住,名字一定要取成logback-spring.xml,否則log加載順序會在yml文件之前,而log的輸出日誌目錄是在yml文件中配置的,這樣就導致會加載錯誤。

 

三. logback-spring.xml的內容:

<?xmlversion="1.0"encoding="UTF-8"?>

<configuration>

<!--日誌存放路徑-->

<springPropertyscope="context"name="log.path"source="log.path"

defaultValue="app-logs"/>

 

<!--日誌輸出格式-->

<propertyname="log.pattern"value="%d{HH:mm:ss.SSS}[%thread]%-5level%logger{20}-[%method,%line]-%msg%n"/>

 

<!--控制檯輸出-->

<appendername="console"class="ch.qos.logback.core.ConsoleAppender">

<encoder>

<pattern>${log.pattern}</pattern>

</encoder>

</appender>

 

<!--系統日誌輸出-->

<appendername="file_info"class="ch.qos.logback.core.rolling.RollingFileAppender">

<file>${log.path}/sys-info.log</file>

<!--循環政策:基於時間創建日誌文件-->

<rollingPolicyclass="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<!--日誌文件名格式-->

<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>

<!--日誌最大的歷史60天-->

<maxHistory>60</maxHistory>

</rollingPolicy>

<encoder>

<pattern>${log.pattern}</pattern>

</encoder>

<filterclass="ch.qos.logback.classic.filter.LevelFilter">

<!--過濾的級別-->

<level>INFO</level>

<!--匹配時的操作:接收(記錄)-->

<onMatch>ACCEPT</onMatch>

<!--不匹配時的操作:拒絕(不記錄)-->

<onMismatch>DENY</onMismatch>

</filter>

</appender>

 

<appendername="file_error"class="ch.qos.logback.core.rolling.RollingFileAppender">

<file>${log.path}/sys-error.log</file>

<!--循環政策:基於時間創建日誌文件-->

<rollingPolicyclass="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<!--日誌文件名格式-->

<fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>

<!--日誌最大的歷史60天-->

<maxHistory>60</maxHistory>

</rollingPolicy>

<encoder>

<pattern>${log.pattern}</pattern>

</encoder>

<filterclass="ch.qos.logback.classic.filter.LevelFilter">

<!--過濾的級別-->

<level>ERROR</level>

<!--匹配時的操作:接收(記錄)-->

<onMatch>ACCEPT</onMatch>

<!--不匹配時的操作:拒絕(不記錄)-->

<onMismatch>DENY</onMismatch>

</filter>

</appender>

 

<!--用戶訪問日誌輸出-->

<appendername="sys-user"class="ch.qos.logback.core.rolling.RollingFileAppender">

<file>${log.path}/sys-user.log</file>

<rollingPolicyclass="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<!--按天回滾daily-->

<fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>

<!--日誌最大的歷史60天-->

<maxHistory>60</maxHistory>

</rollingPolicy>

<encoder>

<pattern>${log.pattern}</pattern>

</encoder>

</appender>

 

<!--系統模塊日誌級別控制-->

<loggername="com.sanss"level="info"/>

<!--Spring日誌級別控制-->

<loggername="org.springframework"level="warn"/>

 

<rootlevel="info">

<appender-refref="console"/>

</root>

 

<!--系統操作日誌-->

<rootlevel="info">

<appender-refref="file_info"/>

<appender-refref="file_error"/>

</root>

 

<!--系統用戶操作日誌-->

<loggername="sys-user"level="info">

<appender-refref="sys-user"/>

</logger>

</configuration>

 

四. yml文件中log目錄的配置:

 

 

這裏的log: path 對應logback-spring.xml裏的:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章