真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringBoot中怎么設(shè)置日志級(jí)別

SpringBoot中怎么設(shè)置日志級(jí)別,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)建站專注于溧水網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供溧水營銷型網(wǎng)站建設(shè),溧水網(wǎng)站制作、溧水網(wǎng)頁設(shè)計(jì)、溧水網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造溧水網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供溧水網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

1.概覽

該教程中,我將向你展示:如何在測(cè)試時(shí)設(shè)置spring boot 日志級(jí)別。雖然我們可以在測(cè)試通過時(shí)忽略日志,但是如果需要診斷失敗的測(cè)試,選擇正確的日志級(jí)別是非常重要的。

2.日志級(jí)別的重要性

正確設(shè)置日志級(jí)別可以節(jié)省我們?cè)S多時(shí)間。

舉例來說,如果測(cè)試在CI服務(wù)器上失敗,但在開發(fā)服務(wù)器上時(shí)卻通過了。我們將無法診斷失敗的測(cè)試,除非有足夠的日志輸出。

為了獲取正確數(shù)量的詳細(xì)信息,我們可以微調(diào)應(yīng)用程序的日志級(jí)別,如果發(fā)現(xiàn)某個(gè)java包對(duì)我們的測(cè)試更加重要,可以給它一個(gè)更低的日志級(jí)別,比如DEBUG。類似地,為了避免日志中有太多干擾,我們可以為那些不太重要的包配置更高級(jí)別的日志級(jí)別,例如INFO或者ERROR。

一起來探索設(shè)置日志級(jí)別的各種方法吧!

3. application.properties中的日志設(shè)置

如果想要修改測(cè)試中的日志級(jí)別,我們可以在src/test/resources/application.properties設(shè)置屬性:

logging.level.com.baeldung.testloglevel=DEBUG

該屬性將會(huì)為指定的包c(diǎn)om.baeldung.testloglevel設(shè)置日志級(jí)別。

同樣地,我們可以通過設(shè)置root日志等級(jí),更改所有包的日志級(jí)別

logging.level.root=INFO

現(xiàn)在通過添加REST端點(diǎn)寫入日志,來嘗試下日志設(shè)置。

@RestControllerpublic class TestLogLevelController {private static final Logger LOG = LoggerFactory.getLogger(TestLogLevelController.class);@Autowiredprivate OtherComponent otherComponent;@GetMapping("/testLogLevel")public String testLogLevel() {LOG.trace("This is a TRACE log");LOG.debug("This is a DEBUG log");LOG.info("This is an INFO log");LOG.error("This is an ERROR log");otherComponent.processData();return "Added some log output to console...";}}

正如所料,如果我們?cè)跍y(cè)試中調(diào)用這個(gè)端點(diǎn),我們將可以看到來自TestLogLevelController的調(diào)試日志。

2019-04-01 14:08:27.545 DEBUG 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is a DEBUG log2019-04-01 14:08:27.545 INFO 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is an INFO log2019-04-01 14:08:27.546 ERROR 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is an ERROR log2019-04-01 14:08:27.546 INFO 56585 --- [nio-8080-exec-1] c.b.component.OtherComponent : This is an INFO log from another package2019-04-01 14:08:27.546 ERROR 56585 --- [nio-8080-exec-1] c.b.component.OtherComponent : This is an ERROR log from another package

這樣設(shè)置日志級(jí)別十分簡單,如果測(cè)試用@SpringBootTest注解,那么我們肯定應(yīng)該這樣做。但是,如果不使用該注解,則必須以另一種方式配置日志級(jí)別。

3.1 基于Profile的日志設(shè)置

盡管將配置放在src\test\application.properties在大多數(shù)場(chǎng)景下好用,但在某些情況下,我們可能希望為一個(gè)或一組測(cè)試設(shè)置不同的配置。

在這種情況下,我們可以使用@ActiveProfiles注解向測(cè)試添加一個(gè)Spring Profile:

@RunWith(SpringRunner.class)@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, classes = TestLogLevelApplication.class)@EnableAutoConfiguration(exclude = SecurityAutoConfiguration.class)@ActiveProfiles("logging-test")public class TestLogLevelWithProfileIntegrationTest {// ...}

日志設(shè)置將會(huì)存在src/test/resources目錄下的application-logging-test.properties中:

logging.level.com.baeldung.testloglevel=TRACElogging.level.root=ERROR

如果使用描述的設(shè)置調(diào)用TestLogLevelCcontroller,將看到controller中打印的TRACE級(jí)別日志,并且不會(huì)看到其他包出現(xiàn)INFO級(jí)別以上的日志。

2019-04-01 14:08:27.545 DEBUG 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is a DEBUG log2019-04-01 14:08:27.545 INFO 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is an INFO log2019-04-01 14:08:27.546 ERROR 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is an ERROR log2019-04-01 14:08:27.546 ERROR 56585 --- [nio-8080-exec-1] c.b.component.OtherComponent : This is an ERROR log from another package

4.配置Logback

如果使用Spring Boot默認(rèn)的Logback,可以在src/test/resources目錄下的logback-text.xml文件中設(shè)置日志級(jí)別:

    %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n      

以上例子如何在測(cè)試中為Logback配置日志級(jí)別。

root日志級(jí)別設(shè)置為INFO,com.baeldung.testloglevel包的日志級(jí)別設(shè)置為DEBUG。

再來一次,看看提交以上配置后的日志輸出情況

2019-04-01 14:08:27.545 DEBUG 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is a DEBUG log2019-04-01 14:08:27.545 INFO 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is an INFO log2019-04-01 14:08:27.546 ERROR 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is an ERROR log2019-04-01 14:08:27.546 INFO 56585 --- [nio-8080-exec-1] c.b.component.OtherComponent : This is an INFO log from another package2019-04-01 14:08:27.546 ERROR 56585 --- [nio-8080-exec-1] c.b.component.OtherComponent : This is an ERROR log from another package

4.1 基于Profile配置Logback

另一種配置指定Profile文件的方式就是在application.properties文件中設(shè)置logging.config屬性:

logging.config=classpath:logback-testloglevel.xml

或者,如果想在classpath只有一個(gè)的Logback配置,可以在logbacl.xml使用springProfile屬性。

    %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n          

現(xiàn)在使用logback-test1配置文件調(diào)用TestLogLevelController,將會(huì)獲得如下輸出:

2019-04-01 14:08:27.545 INFO 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is an INFO log2019-04-01 14:08:27.546 ERROR 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is an ERROR log2019-04-01 14:08:27.546 INFO 56585 --- [nio-8080-exec-1] c.b.component.OtherComponent : This is an INFO log from another package2019-04-01 14:08:27.546 ERROR 56585 --- [nio-8080-exec-1] c.b.component.OtherComponent : This is an ERROR log from another package

另一方面,如果更改配置為logback-test2,輸出將變成如下:

2019-04-01 14:08:27.545 DEBUG 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is a DEBUG log2019-04-01 14:08:27.545 INFO 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is an INFO log2019-04-01 14:08:27.546 ERROR 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is an ERROR log2019-04-01 14:08:27.546 INFO 56585 --- [nio-8080-exec-1] c.b.component.OtherComponent : This is an INFO log from another package2019-04-01 14:08:27.546 ERROR 56585 --- [nio-8080-exec-1] c.b.component.OtherComponent : This is an ERROR log from another package

5.可選的Log4J

另外,如果我們使用Log4J2,我們可以在src\main\resources目錄下的log4j2-spring.xml文件中配置日志等級(jí)。

             

我們可以通過application.properties中的logging.config屬性來設(shè)置Log4J 配置的路徑。

logging.config=classpath:log4j-testloglevel.xml

最后,查看使用以上配置后的輸出:

2019-04-01 14:08:27.545 DEBUG 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is a DEBUG log2019-04-01 14:08:27.545 INFO 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is an INFO log2019-04-01 14:08:27.546 ERROR 56585 --- [nio-8080-exec-1] c.b.testloglevel.TestLogLevelController : This is an ERROR log2019-04-01 14:08:27.546 INFO 56585 --- [nio-8080-exec-1] c.b.component.OtherComponent : This is an INFO log from another package2019-04-01 14:08:27.546 ERROR 56585 --- [nio-8080-exec-1] c.b.component.OtherComponent : This is an ERROR log from another package

關(guān)于SpringBoot中怎么設(shè)置日志級(jí)別問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


新聞標(biāo)題:SpringBoot中怎么設(shè)置日志級(jí)別
網(wǎng)址分享:http://weahome.cn/article/gseeci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部