摘要:不過官網(wǎng)推薦使用的方式,因為可以使用高級特性動態(tài)使用日志配置。測試控制臺輸出指定環(huán)境
Spring boot日志介紹 1.1 常用的日志框架分為接口庫和實現(xiàn)庫 1.2 spring 的日志介紹
spring框架默認選擇的是JCL
spring boot框架默認選擇的是SLF4j + Logback
1.3 SLF4J的使用案例:
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HelloWorld { public static void main(String[] args) { Logger logger = LoggerFactory.getLogger(HelloWorld.class); logger.info("Hello World"); } }1.3.1與其他實現(xiàn)庫整合圖(官網(wǎng)): 1.3.2 如何解決多個框架默認日志不統(tǒng)一的問題?
第一步:排除其他日志框架
第二步:使用中間包替換原有日志包
第三步:導入slf4j實現(xiàn)包
1.4 spring boot + slf4j+Logback1.4.1 在哪排除其他框架的默認日志包org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-logging
排除spring 使用的commons-logging
1.4.2 使用中間包替換原有日志包 1.4.3 spring boot日志配置org.springframework spring-core commons-logging commons-logging
spring boot默認級別為info
@RunWith(SpringRunner.class) @SpringBootTest public class ApplicationTests { private Logger logger = LoggerFactory.getLogger(ApplicationTests.class); @Test public void logTest() { logger.trace("--This is trace log"); logger.debug("-- --This is debug log"); logger.info("-- -- --This is info log"); logger.warn("-- -- -- --This is warn log"); logger.error("-- -- -- -- --This is error log"); } }
運行結(jié)果:
: -- -- --This is info log
: -- -- -- --This is warn log
: -- -- -- -- --This is error log
簡單配置案例
#設置日志有顏色的輸出 spring: output: ansi: enabled: always #日志配置 logging: #日志級別設置 level: #指定包生效 com.lvmama: debug #日志文件路徑(當前工程根目錄下spring.log) path: /log/springboot
spring boot 其他日志配置
logging.file logging.file.max-size logging.file.max-history logging.path logging.pattern.console logging.pattern.dateformat logging.pattern.file logging.pattern.level PID1.4.4 自定義日志配置
When possible, we recommend that you use the?-spring?variants for your logging configuration (for example,?logback-spring.xml?rather than?logback.xml). If you use standard configuration locations, Spring cannot completely control log initialization.
在resource目錄下添加指定的log.xml,spring boot默認只用自定義的日志配置,如logback在resource目錄下添加logback.xml或logback-spring.xml即可。不過官網(wǎng)推薦使用logback-spring的方式,因為可以使用
Because the standard?logback.xml?configuration file is loaded too early, you cannot use extensions in it. You need to either use?logback-spring.xmlor define a?logging.config?property.
測試:
%d{yyyy-MM-dd HH:mm:ss.SSS} ---dev--- [%thread] - %-5level %logger{50} - %msg%n %d{yyyy-MM-dd HH:mm:ss.SSS} - [%thread] - %-5level %logger{50} - %msg%n
mvn spring-boot:run
控制臺輸出:
2018-05-20 17:55:44.708 - [main] - INFO com.lvmama.SpringBootInstaller - Starting SpringBootInstaller on 28H5EO7ZV2V7ELK with PID 4288 (D:workspacespring-boot argetclasses started by Administrator in D:workspacespring-boot) 2018-05-20 17:55:44.732 - [main] - DEBUG com.lvmama.SpringBootInstaller - Running with Spring Boot v1.5.14.BUILD-SNAPSHOT, Spring v4.3.17.RELEASE 2018-05-20 17:55:44.733 - [main] - INFO com.lvmama.SpringBootInstaller - No active profile set, falling back to default profiles: default 2018-05-20 17:55:45.224 - [background-preinit] - INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 5.3.6.Final 2018-05-20 17:55:48.158 - [main] - INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] 2018-05-20 17:55:48.236 - [main] - INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
mvn spring-boot:run -Drun.profiles=dev //指定dev環(huán)境 ?
2018-05-20 17:59:25.500 ---dev--- [main] - INFO com.lvmama.SpringBootInstaller - Starting SpringBootInstaller on 28H5EO7ZV2V7ELK with PID 2880 (D:workspacespring-boot argetclasses started by Administrator in D:workspacespring-boot) 2018-05-20 17:59:25.505 ---dev--- [main] - DEBUG com.lvmama.SpringBootInstaller - Running with Spring Boot v1.5.14.BUILD-SNAPSHOT, Spring v4.3.17.RELEASE 2018-05-20 17:59:25.506 ---dev--- [main] - INFO com.lvmama.SpringBootInstaller - The following profiles are active: dev 2018-05-20 17:59:26.007 ---dev--- [background-preinit] - INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 5.3.6.Final 2018-05-20 17:59:27.749 ---dev--- [main] - INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] 2018-05-20 17:59:27.769 ---dev--- [main] - INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/69505.html
摘要:作為微服務的基礎設施之一,背靠強大的生態(tài)社區(qū),支撐技術(shù)體系。微服務實踐為系列講座,專題直播節(jié),時長高達小時,包括目前最流行技術(shù),深入源碼分析,授人以漁的方式,幫助初學者深入淺出地掌握,為高階從業(yè)人員拋磚引玉。 簡介 目前業(yè)界最流行的微服務架構(gòu)正在或者已被各種規(guī)模的互聯(lián)網(wǎng)公司廣泛接受和認可,業(yè)已成為互聯(lián)網(wǎng)開發(fā)人員必備技術(shù)。無論是互聯(lián)網(wǎng)、云計算還是大數(shù)據(jù),Java平臺已成為全棧的生態(tài)體系,...
摘要:使用還是,根據(jù)個人喜好即可。如果錯誤頁面也需要使用模板引擎動態(tài)生成,那么放在下面的路徑。數(shù)據(jù)庫自動配置嵌入式數(shù)據(jù)庫如果類路徑中包含或的相應包,那么就會自動配置這些嵌入式數(shù)據(jù)庫的實例和數(shù)據(jù)源。 本文參考自Spring Boot文檔。 Spring Boot 簡介 Spring框架功能很強大,但是就算是一個很簡單的項目,我們也要配置很多東西。因此就有了Spring Boot框架,它的作用很...
摘要:引入了新的環(huán)境和概要信息,是一種更揭秘與實戰(zhàn)六消息隊列篇掘金本文,講解如何集成,實現(xiàn)消息隊列。博客地址揭秘與實戰(zhàn)二數(shù)據(jù)緩存篇掘金本文,講解如何集成,實現(xiàn)緩存。 Spring Boot 揭秘與實戰(zhàn)(九) 應用監(jiān)控篇 - HTTP 健康監(jiān)控 - 掘金Health 信息是從 ApplicationContext 中所有的 HealthIndicator 的 Bean 中收集的, Spring...
閱讀 2591·2021-10-19 11:41
閱讀 2427·2021-09-01 10:32
閱讀 3386·2019-08-29 15:21
閱讀 1767·2019-08-29 12:20
閱讀 1173·2019-08-29 12:13
閱讀 610·2019-08-26 12:24
閱讀 2527·2019-08-26 10:26
閱讀 843·2019-08-23 18:40