摘要:不過官網推薦使用的方式,因為可以使用高級特性動態使用日志配置。測試控制臺輸出指定環境
Spring boot日志介紹 1.1 常用的日志框架分為接口庫和實現庫 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與其他實現庫整合圖(官網): 1.3.2 如何解決多個框架默認日志不統一的問題?
第一步:排除其他日志框架
第二步:使用中間包替換原有日志包
第三步:導入slf4j實現包
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"); } }
運行結果:
: -- -- --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即可。不過官網推薦使用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環境 ?
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]
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/69505.html
摘要:作為微服務的基礎設施之一,背靠強大的生態社區,支撐技術體系。微服務實踐為系列講座,專題直播節,時長高達小時,包括目前最流行技術,深入源碼分析,授人以漁的方式,幫助初學者深入淺出地掌握,為高階從業人員拋磚引玉。 簡介 目前業界最流行的微服務架構正在或者已被各種規模的互聯網公司廣泛接受和認可,業已成為互聯網開發人員必備技術。無論是互聯網、云計算還是大數據,Java平臺已成為全棧的生態體系,...
摘要:使用還是,根據個人喜好即可。如果錯誤頁面也需要使用模板引擎動態生成,那么放在下面的路徑。數據庫自動配置嵌入式數據庫如果類路徑中包含或的相應包,那么就會自動配置這些嵌入式數據庫的實例和數據源。 本文參考自Spring Boot文檔。 Spring Boot 簡介 Spring框架功能很強大,但是就算是一個很簡單的項目,我們也要配置很多東西。因此就有了Spring Boot框架,它的作用很...
摘要:引入了新的環境和概要信息,是一種更揭秘與實戰六消息隊列篇掘金本文,講解如何集成,實現消息隊列。博客地址揭秘與實戰二數據緩存篇掘金本文,講解如何集成,實現緩存。 Spring Boot 揭秘與實戰(九) 應用監控篇 - HTTP 健康監控 - 掘金Health 信息是從 ApplicationContext 中所有的 HealthIndicator 的 Bean 中收集的, Spring...
閱讀 2594·2021-10-19 11:41
閱讀 2428·2021-09-01 10:32
閱讀 3386·2019-08-29 15:21
閱讀 1769·2019-08-29 12:20
閱讀 1173·2019-08-29 12:13
閱讀 611·2019-08-26 12:24
閱讀 2529·2019-08-26 10:26
閱讀 844·2019-08-23 18:40