国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

springboot項目配置logback日志系統的實現

瀏覽:59日期:2023-03-17 08:15:07

記錄springboot項目配置logback日志文件管理:

logback依賴jar包

SpringBoot項目配置logback理論上需要添加logback-classic依賴jar包:

<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version></dependency>

但是因為SpringBoot項目默認就是使用的就是logback日志系統,創建SpringBoot項目時引入的spring-boot-starter或者spring-boot-starter-web依賴jar包中已經包含了spring-boot-starter-logging的依賴,里面同時包含多種日志系統依賴,如下圖所示:

springboot項目配置logback日志系統的實現

包括logback和log4j,所以,無需額外添加依賴,直接配置logback.xml就可以了。

此外,如果需要切換為log4j2,那么需要在spring-boot-starter-web依賴中排除springboot自帶的commons?logging,然后在引入log4j2的依賴jar包,如下所示:

<!--排除 commons?logging--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>commons?logging</groupId> <artifactId>commons?logging</artifactId> </exclusion> </exclusions></dependency><!--引入log4j2 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId></dependency>logback的默認配置

前面說到SpringBoot項目默認使用logback,那么對于logback的配置情況,SpringBoot又是如何定義的呢?

首先,SpringBoot會從resource包下查找logback-test.xml或logback.xml ,如果這兩個都不存在,則會調用BasicConfigurator,創建一個最小化的基本配置。

最小化配置由一個關聯到根logger的ConsoleAppender組成,默認輸出模式為%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n,root logger級別為DEBUG,所以并不會生成日志文件,只會輸出到控制臺。

創建logback.xml配置文件

通過自定義logback.xml配置文件來控制日志輸出情況,通常我們會配置三個日志組件:

控制臺輸出 輸出info級別日志文件 輸出error級別日志文件

以下為logback.xml完整配置

<!-- Logback configuration. See http://logback.qos.ch/manual/index.html --><configuration scan='true' scanPeriod='2 seconds'> <!--定義日志文件的存儲地址--> <property name='LOG_PATH' value='./logs' /> <!-- 控制臺輸出 --> <appender name='STDOUT' class='ch.qos.logback.core.ConsoleAppender'><encoder class='ch.qos.logback.classic.encoder.PatternLayoutEncoder'> <!--格式化輸出:%d表示日期,%-5level:級別從左顯示5個字符寬度,%t表示線程名,%msg:日志消息,%n是換行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} --- [%t] %logger{50} - %msg%n</pattern></encoder> </appender> <!-- info級別日志文件輸出 --> <appender name='INFO_FILE' class='ch.qos.logback.core.rolling.RollingFileAppender'><!-- 日志文件輸出的文件名 --><File>${LOG_PATH}/info.log</File><rollingPolicy class='ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy'> <!-- 每日生成日志文件或日志文件大小超出限制后輸出的文件名模板 --> <fileNamePattern>${LOG_PATH}/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!-- 日志文件保留天數 --> <maxHistory>30</maxHistory> <!-- 日志文件最大大小:100MB --> <maxFileSize>100MB</maxFileSize></rollingPolicy><encoder class='ch.qos.logback.classic.encoder.PatternLayoutEncoder'> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} --- [%t] %logger{50} - %msg%n</pattern></encoder> </appender> <!-- error級別日志文件輸出 --> <appender name='ERROR_FILE' class='ch.qos.logback.core.rolling.RollingFileAppender'><!-- 日志輸出級別,優先級 > ’<root level>’ --><filter class='ch.qos.logback.classic.filter.ThresholdFilter'> <level>ERROR</level></filter><File>${LOG_PATH}/error.log</File><rollingPolicy class='ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy'> <fileNamePattern>${LOG_PATH}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <maxHistory>30</maxHistory> <maxFileSize>100MB</maxFileSize></rollingPolicy><encoder class='ch.qos.logback.classic.encoder.PatternLayoutEncoder'> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} --- [%t] %logger{50} - %msg%n</pattern></encoder> </appender> <!-- 默認日志輸出級別 --> <root level='INFO'><appender-ref ref='STDOUT' /><appender-ref ref='INFO_FILE' /><appender-ref ref='ERROR_FILE' /> </root></configuration>logback配置說明根節點configuration

<configuration scan='true' scanPeriod='2 seconds' debug='false'> </configuration>

configuration包含以下三個屬性:

scan:配置文件發生更改時,進行重載,默認值為true scanPeriod:監測配置文件是否有修改的時間間隔,默認值為6000,默認單位為毫秒 debug:打印logback內部日志信息,實時查看logback運行狀態,默認值為false子節點property:

<property name='LOG_PATH' value='./logs' />

用來定義變量值,包含以下兩個屬性

name:變量名稱 value:變量定義的值

通過property定義的值會被插入到logger上下文中,可以使${}來使用變量,這里定義了log的保存位置根目錄。

子節點appender:

<appender name='STDOUT' class='ch.qos.logback.core.ConsoleAppender'></appender>

是負責寫日志的組件,通過自定義日志組件控制日志輸出的情況,包含以下兩個屬性:

name:組件名稱 class:組件class指定的類名

不同的class,對應不同的功能:

如ch.qos.logback.core.ConsoleAppender會把日志輸出到控制臺

ch.qos.logback.core.rolling.RollingFileAppender把日志內容輸出到指定文件

File節點:日志文件輸出的文件名

<File>${LOG_PATH}/info.log</File>

filter節點:過濾器,用來指定日志組件的日志輸出級別,優先級高于root節點的level。

<filter class='ch.qos.logback.classic.filter.ThresholdFilter'> <level>ERROR</level></filter>rollingPolicy節點:

滾動日志文件配置,涉及日志文件的移動和重命名,只有一個class屬性,用來指定滾動策略,這里使用的是ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy

包含以下三個屬性:

fileNamePattern:發生滾動時的日志命名方式 maxHistory:日志文件的最大保留時間,超過設定時間后會自動刪除 maxFileSize:每份日志文件的最大限制,超出限制后會重新生成,并將舊的日志文件按照fileNamePattern設定的日志命名方式進行命名

<rollingPolicy class='ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy'> <fileNamePattern>${LOG_PATH}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <maxHistory>30</maxHistory> <maxFileSize>100MB</maxFileSize></rollingPolicy>子節點encoder

<encoder class='ch.qos.logback.classic.encoder.PatternLayoutEncoder'> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} --- [%t] %logger{50} - %msg%n</pattern></encoder>

對記錄事件進行格式化,負責兩件事,一是把日志信息轉換成字節數組,二是把字節數組寫入到輸出流。PatternLayoutEncoder 是唯一有用的且默認的encoder ,有一個節點,用來設置日志的輸入格式。使用“%”加“轉換符”方式,如果要輸出“%”,則必須用“”對“%”進行轉義。

子節點root

根loger,是所有loger的最上級,且只有一個level節點,用類設置打印日志的級別,默認值為debug,通常設置為info,此外還有trace、warn、error、all、off級別。子節點appender-ref的ref屬性指定日志組件名稱,即appender的name屬性值。

使用logback

在yml文件中增加logging.config指定配置文件地址,命名為logback時可以不需要配置,SpringBoot`會自動查找。

level設置指定路徑下的日志輸出級別。

logging: config: classpath:logback.xml level: com: springboot: debug

如圖所示,項目啟動后,訪問接口輸出日志內容并生成指定日志文件:

springboot項目配置logback日志系統的實現

內容參考

博客園-ryelqy-logback的使用和logback.xml詳解

到此這篇關于springboot項目配置logback日志系統的實現的文章就介紹到這了,更多相關springboot配置logback日志系統內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 国产成人艳妇在线观看 | 国产精品手机视频一区二区 | 色偷偷在线刺激免费视频 | 亚洲欧美综合视频 | 91久久福利国产成人精品 | 日本在线观看免费视频网址 | a级国产乱理伦片在线观看99 | 免费播放欧美毛片 | 在线看亚洲 | 欧美一级一级片 | 亚洲性天堂 | 一色屋成人免费精品网站 | 中文字幕成人免费视频 | a毛片视频 | 亚洲爽 | 国产精品久久久久久影院 | 小明台湾成人永久免费看看 | 亚洲国产人成中文幕一级二级 | 国产综合精品一区二区 | 久久羞羞 | 美女免费在线视频 | 自拍视频在线观看视频精品 | 国产亚洲男人的天堂在线观看 | 美女性视频网站 | 九九精品免视频国产成人 | 欧洲一级毛片免费 | 欧美久久视频 | 国产福利在线91 | 国产美女在线精品观看 | 欧美色大成网站www永久男同 | 国产亚洲一区二区三区在线 | 国产一级性生活 | 久久99精品一级毛片 | 日本特黄特色高清免费视频 | 黄色激情网站 | 国产三级久久久精品三级 | 亚洲综合美女 | 美女视频永久黄网站免费观看韩国 | 亚洲人成网站在线在线 | 国产片91| 无毛片|