關(guān)于logback.xml和logback-spring.xml的區(qū)別及說明
logback.xml和logback-spring.xml的區(qū)別
我們使用SLF4J框架記錄日志時,會用到 logback.xml 和 logback-spring.xml 兩個不同的配置文件。
logback-spring.xml 只有在Spring應(yīng)用程序運(yùn)行的時候才生效,即帶有@SpringBootApplication注解的類啟動的時候才會生效。
如果不是Spring應(yīng)用程序,而是一個main方法或者一個JUnit的測試方法,要用 logback.xml 來配置。如果沒有l(wèi)ogback.xml這個文件,或者logback.xml放的路徑不對,則日志仍然是會打印出來的,而且會按照默認(rèn)的DEBUG級別打印。這樣一運(yùn)行程序會有大量的DEBUG信息,把真正有用的信息都淹沒了。
我們要想把這些煩人的DEBUG信息關(guān)掉,禁止它輸出DEBUG信息,需要自己創(chuàng)建一個名為 logback.xml 的文件。一般Spring Boot項目里面已經(jīng)帶有一個 logback-spring.xml 文件了,最省事的方法是直接把 logback-spring.xml 復(fù)制一份,名字改成 logback.xml 就行,里面所有的配置語法都不用改。因為logback-spring和logback除了文件名不同,里面寫法是完全一樣的。
要想把DEBUG信息關(guān)掉,找到root level="DEBUG"這一段,改成ERROR。
<!-- 日志輸出級別 --> <root level="ERROR"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE" /> <appender-ref ref="HTML" /> <appender-ref ref="FILE_HTML" /> </root>
logback-spring和logback除了文件名不同,存放的位置也是不同的。
logback-spring.xml存放的位置是在SpringApplication主類所在的項目的resources目錄,也就是application.yml或者application.properties所在的目錄。
logback.xml存放的位置是在你啟動的那個類所在的項目的resources目錄。
而且這個resources目錄,原本也是沒有的,我們手工創(chuàng)建了resources目錄之后,還要在IDEA的項目屬性里面手工把它指定為資源目錄。
分享一個logback.xml/logback-spring.xml(實(shí)用)
效果圖
代碼
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false" scan="true" scanPeriod="1 seconds"> <!-- 注意:若需要用 spring 擴(kuò)展 profile 支持,則文件名應(yīng)為 logback-spring.xml,而不是 logback.xml。 --> <springProperty scope="context" name="spring.application.name" source="spring.application.name"/> <springProperty scope="context" name="spring.profiles.active" source="spring.profiles.active"/> <contextName>logback</contextName> <property name="log.path" value="/home/logs/app/${spring.profiles.active}/${spring.application.name}.log"/> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) [%15.15(%thread)] %cyan(%-40.40(%logger{40})) : %-30.30(\(%file:%line\)) : %msg%n</pattern> </encoder> </appender> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.path}</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern> <maxFileSize>10MB</maxFileSize> <maxHistory>30</maxHistory> <totalSizeCap>10GB</totalSizeCap> </rollingPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%15.15(%thread)] %-40.40(%logger{40}) : %3(%line) : %msg%n</pattern> </encoder> </appender> <root level="info"> <appender-ref ref="console"/> <appender-ref ref="file"/> </root> </configuration>
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java反射根據(jù)不同方法名動態(tài)調(diào)用不同的方法(實(shí)例)
下面小編就為大家?guī)硪黄狫ava反射根據(jù)不同方法名動態(tài)調(diào)用不同的方法(實(shí)例)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08springboot themaleaf 第一次進(jìn)頁面不加載css的問題
這篇文章主要介紹了springboot themaleaf 第一次進(jìn)頁面不加載css的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10spring學(xué)習(xí)教程之@ModelAttribute注解運(yùn)用詳解
這篇文章主要給大家介紹了關(guān)于spring學(xué)習(xí)教程之@ModelAttribute注釋運(yùn)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06Spring JdbcTemplate整合使用方法及原理詳解
這篇文章主要介紹了Spring JdbcTemplate整合使用方法及原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08