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í)間來(lái)制定滾動(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),用來(lái)設(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í)間來(lái)制定滾動(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),用來(lái)設(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語(yǔ)句)
- 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中的CompletableFuture類詳解
這篇文章主要介紹了SpringBoot中的CompletableFuture類詳解,在?Java8中,引入了CompletableFuture類,它提供了一種簡(jiǎn)單而強(qiáng)大的方式來(lái)執(zhí)行異步任務(wù),今天我們就來(lái)詳細(xì)解讀一下這個(gè)類,需要的朋友可以參考下2023-07-07Mybatis中輸入輸出映射與動(dòng)態(tài)Sql圖文詳解
這篇文章主要給大家介紹了關(guān)于Mybatis中輸入輸出映射與動(dòng)態(tài)Sql的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02Java多線程常見案例分析線程池與單例模式及阻塞隊(duì)列
這篇文章主要介紹了多線程的常見案例,線程池(重點(diǎn))、單例模式、阻塞隊(duì)列,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05Java中使用StackWalker和Stream API進(jìn)行堆棧遍歷
StackWalking API是添加到Java中最酷的(并且對(duì)大多數(shù)開發(fā)人員來(lái)說完全不切實(shí)際,一般不會(huì)用,除非深層跟蹤調(diào)優(yōu))的功能之一。在這篇簡(jiǎn)短的文章中,我們將看到它是什么以及使用它有多么容易,很快的認(rèn)識(shí)它2018-09-09java中構(gòu)造器內(nèi)部調(diào)用構(gòu)造器實(shí)例詳解
在本篇文章里小編給大家分享的是關(guān)于java中構(gòu)造器內(nèi)部調(diào)用構(gòu)造器實(shí)例內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2020-05-05springboot 集成pgsql+mybatis plus的詳細(xì)步驟
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步驟與 MyBatis 類似,只不過在 MyBatis Plus 中提供了更多的便利功能,如自動(dòng)生成 SQL、分頁(yè)查詢、Wrapper 查詢等,下面分步驟給大家介紹springboot 集成pgsql+mybatis plus的過程,感興趣的朋友一起看看吧2023-12-12java文件如何統(tǒng)計(jì)字母出現(xiàn)的次數(shù)和百分比
這篇文章主要介紹了java文件如何統(tǒng)計(jì)字母出現(xiàn)的次數(shù)和百分比,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11