springboot配置logback日志管理過程詳解
更新時間:2019年09月29日 10:01:05 作者:King-D
這篇文章主要介紹了springboot配置logback日志管理過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
這篇文章主要介紹了springboot配置logback日志管理過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
首先書寫logback-spring.xml文件為:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<springProperty scope="context" name="LOG_DIR" source="logback.path"/>
<springProperty scope="context" name="LEVEL" source="logback.level"/>
<springProperty scope="context" name="APP_NAME" source="spring.application.name"/>
<property name="FILE_LOG_PATTERN" value="%date [%level] [%thread] [%file : %line] %msg%n" />
<!-- %m輸出的信息,%p日志級別,%t線程名,%d日期,%c類的全名,%i索引【從數字0開始遞增】,,, -->
<!-- appender是configuration的子節(jié)點,是負責寫日志的組件。 -->
<!-- ConsoleAppender:把日志輸出到控制臺 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<!-- 控制臺也要使用UTF-8,不要使用GBK,否則會中文亂碼 -->
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- RollingFileAppender:滾動記錄文件,先將日志記錄到指定文件,當符合某個條件時,將日志記錄到其他文件 -->
<!-- 以下的大概意思是:1.先按日期存日志,日期變了,將前一天的日志文件名重命名為XXX%日期%索引,新的日志仍然是demo.log -->
<!-- 2.如果日期沒有發(fā)生變化,但是當前日志的文件大小超過1KB時,對當前日志進行分割 重命名-->
<appender name="fileServiceLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_DIR}/${APP_NAME}.log</File>
<!-- rollingPolicy:當發(fā)生滾動時,決定 RollingFileAppender 的行為,涉及文件移動和重命名。 -->
<!-- TimeBasedRollingPolicy: 最常用的滾動策略,它根據時間來制定滾動策略,既負責滾動也負責出發(fā)滾動 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 活動文件的名字會根據fileNamePattern的值,每隔一段時間改變一次 -->
<!-- 文件名:log/demo.2017-12-05.0.log -->
<fileNamePattern>${LOG_DIR}/%d{yyyy-MM-dd}/${APP_NAME}-%d{yyyy-MM-dd}(%i).log</fileNamePattern>
<!-- 每產生一個日志文件,該日志文件的保存期限為30天 -->
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- maxFileSize:這是活動文件的大小,默認值是10MB,測試時可改成1KB看效果 -->
<maxFileSize>2000MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<!-- pattern節(jié)點,用來設置日志的輸入格式 -->
<pattern>${FILE_LOG_PATTERN}</pattern>
<!-- 記錄日志的編碼:此處設置字符集 - -->
<charset>UTF-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>${LEVEL}</level>
<!--<onMatch>ACCEPT</onMatch>-->
<!--<onMismatch>DENY</onMismatch>-->
</filter>
</appender>
<appender name="fileServiceLogError" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_DIR}/${APP_NAME}-error.log</File>
<!-- rollingPolicy:當發(fā)生滾動時,決定 RollingFileAppender 的行為,涉及文件移動和重命名。 -->
<!-- TimeBasedRollingPolicy: 最常用的滾動策略,它根據時間來制定滾動策略,既負責滾動也負責出發(fā)滾動 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 活動文件的名字會根據fileNamePattern的值,每隔一段時間改變一次 -->
<!-- 文件名:log/demo.2017-12-05.0.log -->
<fileNamePattern>${LOG_DIR}/%d{yyyy-MM-dd}/${APP_NAME}-error.%d{yyyy-MM-dd}(%i).log</fileNamePattern>
<!-- 每產生一個日志文件,該日志文件的保存期限為30天 -->
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- maxFileSize:這是活動文件的大小,默認值是10MB,測試時可改成1KB看效果 -->
<maxFileSize>50MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<!-- pattern節(jié)點,用來設置日志的輸入格式 -->
<pattern>${FILE_LOG_PATTERN}</pattern>
<!-- 記錄日志的編碼:此處設置字符集 - -->
<charset>UTF-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 控制臺輸出日志級別 -->
<root level="${LEVEL}">
<appender-ref ref="STDOUT" />
<appender-ref ref="fileServiceLog" />
<appender-ref ref="fileServiceLogError" />
</root>
<logger name="org.springframework.amqp.rabbit.listener.BlockingQueueConsumer" level="OFF"/>
<logger name="com.example" level="${LEVEL}">
<appender-ref ref="fileServiceLog" />
<appender-ref ref="fileServiceLogError" />
</logger>
</configuration>
.yml文件的配置為:
#logback配置 logging: pattern: console: '%d -%msg%n' path: D:/data/log/seller.log level: debug
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- IDEA?設置?SpringBoot?logback?彩色日志的解決方法?附配置文件
- Springboot使用Logback實現日志配置與異常記錄
- SpringBoot項目的logback日志配置(包括打印mybatis的sql語句)
- Spring Boot日志技術logback原理及配置解析
- 基于logback 實現springboot超級詳細的日志配置
- spring boot使用logback實現多環(huán)境日志配置詳解
- 詳解Spring Boot配置使用Logback進行日志記錄的實戰(zhàn)
- 詳解Spring Boot 使用slf4j+logback記錄日志配置
- 如何為?Spring?Boot?項目配置?Logback?日志
相關文章
詳解OpenAPI開發(fā)如何動態(tài)的添加接口實現
這篇文章主要為大家介紹了OpenAPI開發(fā)如何動態(tài)的添加接口實現詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04
Java中HttpServletResponse響應中文出現亂碼問題
這篇文章主要介紹了Java中HttpServletResponse響應中文出現亂碼問題的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-06-06
如何將二進制文件流轉化為MockMultipartFile文件
文章主要介紹了如何使用Spring框架中的MockMultipartFile類來模擬文件上傳,并處理上傳邏輯,包括獲取二進制文件流、創(chuàng)建MockMultipartFile對象、處理上傳邏輯和返回響應,還解釋了MockMultipartFile的功能和二進制文件流的定義2025-02-02
Java getResource()如何獲取class文件目錄位置
這篇文章主要介紹了Java getResource()如何獲取class文件目錄位置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
SpringBoot 3.0 新特性內置聲明式HTTP客戶端實例詳解
聲明式 http 客戶端主旨是使得編寫 java http 客戶端更容易,為了貫徹這個理念,采用了通過處理注解來自動生成請求的方式,本文給大家詳解介紹SpringBoot 聲明式HTTP客戶端相關知識,感興趣的朋友跟隨小編一起看看吧2022-12-12

