springboot2日志怎么實(shí)現(xiàn)

這篇文章主要講解了“spring boot 2日志怎么實(shí)現(xiàn)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“spring boot 2日志怎么實(shí)現(xiàn)”吧!

成都創(chuàng)新互聯(lián)公司基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺為眾多戶提供四川聯(lián)通機(jī)房服務(wù)器托管 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。

Spring Boot除了commons-loggingAPI外沒有其他強(qiáng)制性的日志依賴,你有很多可選的日志實(shí)現(xiàn)。想要使用Logback,你需要包含它及jcl-over-slf4j(它實(shí)現(xiàn)了Commons Logging API)。最簡單的方式是通過依賴spring-boot-starter-logging的starters。對于一個web應(yīng)用程序,你只需添加spring-boot-starter-web依賴,因?yàn)樗蕾囉趌ogging starter。例如,使用Maven:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

Spring Boot有一個LoggingSystem抽象,用于嘗試通過classpath上下文配置日志系統(tǒng)。如果Logback可用,則首選它。如果你唯一需要做的就是設(shè)置不同日志級別,那可以通過在application.properties中使用logging.level前綴實(shí)現(xiàn),比如:

logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR

你也可以使用logging.file設(shè)置日志文件的位置(除控制臺之外,默認(rèn)會輸出到控制臺)。

想要對日志系統(tǒng)進(jìn)行更細(xì)粒度的配置,你需要使用LoggingSystem支持的原生配置格式。默認(rèn)情況下,Spring Boot從系統(tǒng)的默認(rèn)位置加載原生配置(比如對于Logback為classpath:logback.xml),但你可以使用logging.config屬性設(shè)置配置文件的位置。

配置Logback

如果你將logback.xml放到classpath根目錄下,那它將會被從這加載(或logback-spring.xml充分利用Boot提供的模板特性)。Spring Boot提供一個默認(rèn)的基本配置,如果你只是設(shè)置日志級別,那你可以包含它,比如:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="org.springframework.web" level="DEBUG"/>
</configuration>

如果查看spring-boot jar中的base.xml,你將會看到LoggingSystem為你創(chuàng)建的很多有用的系統(tǒng)屬性,比如:

  • ${PID},當(dāng)前進(jìn)程id。

  • ${LOG_FILE},如果在Boot外部配置中設(shè)置了logging.file。

  • ${LOG_PATH},如果設(shè)置了logging.path(表示日志文件產(chǎn)生的目錄)。

  • ${LOG_EXCEPTION_CONVERSION_WORD},如果在Boot外部配置中設(shè)置了logging.exception-conversion-word。

Spring Boot也提供使用自定義的Logback轉(zhuǎn)換器在控制臺上輸出一些漂亮的彩色ANSI日志信息(不是日志文件),具體參考默認(rèn)的base.xml配置。

如果Groovy在classpath下,你也可以使用logback.groovy配置Logback。

配置logback只輸出到文件

如果想禁用控制臺日志記錄,只將輸出寫入文件中,你需要一個只導(dǎo)入file-appender.xml而不是console-appender.xml的自定義logback-spring.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>

你還需要將logging.file添加到application.properties:

logging.file=myapplication.log

配置Log4j

如果Log4j 2出現(xiàn)在classpath下,Spring Boot會將其作為日志配置。如果你正在使用starters進(jìn)行依賴裝配,這意味著你需要排除Logback,然后包含log4j 2。如果不使用starters,除了添加Log4j 2,你還需要提供jcl-over-slf4j依賴(至少)。

最簡單的方式可能就是通過starters,盡管它需要排除一些依賴,比如,在Maven中:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

注 Log4j starters會收集好依賴以滿足普通日志記錄的需求(比如,Tomcat中使用java.util.logging,但使用Log4j 2作為輸出),具體查看Actuator Log4j 2的示例,了解如何將它用于實(shí)戰(zhàn)。

使用YAML或JSON配置Log4j2

除了它的默認(rèn)XML配置格式,Log4j 2也支持YAML和JSON配置文件。想使用其他配置文件格式配置Log4j 2,你需要添加合適的依賴到classpath,并以匹配所選格式的方式命名配置文件:

格式依賴文件名
YAMLcom.fasterxml.jackson.core:jackson-databindcom.fasterxml.jackson.dataformat:jackson-dataformat-yamllog4j2.yamllog4j2.yml
JSONcom.fasterxml.jackson.core:jackson-databindlog4j2.jsonlog4j2.jsn

感謝各位的閱讀,以上就是“spring boot 2日志怎么實(shí)現(xiàn)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對spring boot 2日志怎么實(shí)現(xiàn)這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

本文名稱:springboot2日志怎么實(shí)現(xiàn)
本文來源:http://bm7419.com/article38/gihcsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站自適應(yīng)網(wǎng)站、靜態(tài)網(wǎng)站、ChatGPT企業(yè)網(wǎng)站制作、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)