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

