Spring Boot-開發基礎3

@ConditionalOnJava

在這裏插入圖片描述

怎麼知道哪些自動配置類生效
在.properties文件中編寫

debug=true

控制檯打印自動配置報告,Positive matches:自動配置類啓用,Negative matches爲沒有啓用

Spring Boot與日誌

日誌框架、日誌配置
統一的接口層:日誌門面(日誌的抽象層)

JUL(java.util.logging)、JCL(Apache/Jakarta Commons Logging)、Jboss-logging、logback、log4j、log4j2、slf4j(Simple Logging Facade for Java)
日誌
Spring boot使用JCL,spring-boot-starter-logging採用slf4j+logback的形式
日誌門面:SLF4j
日誌實現:Logback

LogFactory = new SLF4JLogFactory()

  • SpringBoot底層也是使用slf4j+logback的方式進行日誌記錄
  • SpringBoot也把其他的日誌都替換成slf4j
  • 中間替換包,如jcl-over-slf4j
  • 如果引入其他框架,需要移除框架的默認日誌依賴
    spring框架用的是commons-logging
 <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <exclusions>
                <exclusion>
                 <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</groupId>
                </exclusion>
            </exclusions>
        </dependency>

== springboot能自動適配所有日誌,而且底層使用slf4j+logback的方式記錄日誌,引入其他框架時,排除依賴的日誌框架==

日誌的使用

  1. 默認配置
    日誌配置
 日誌輸出格式:
    		%d表示日期時間,
    		%thread表示線程名,
    		%-5level:級別從左顯示5個字符寬度
    		%logger{50} 表示logger名字最長50個字符,否則按照句點分割。 
    		%msg:日誌消息,
    		%n是換行符
        %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
# 配置日誌級別
logging.level.com.qtu.zp = trace
# 輸出到指定目錄
#在當前磁盤的根路徑下創建spring/log文件夾
#logging.path= /spring/log
#輸出到指定的文件中
#不指定路徑,默認在當前項目下創建,
#可以指定完整路徑路徑
#logging.file=G:/zp.log
#日誌在控制檯輸出的格式
logging.pattern.console=
#指定文件中日誌輸出格式
logging.pattern.file=
 public void contextLoads() {
//        log:日誌, logger:記錄器
//        日誌級別:由低到高,可以調整輸出砈日誌級別
        logger.trace("這是trace日誌");
        logger.debug("this is debug log");
//        默認使用info級別
//        設置日誌級別:在配置文件中編寫logging.level.com.qtu.zp = trace,root級別
        logger.info("this is info");
        logger.warn("this is warning logger");
        logger.error(("this is error logger"));
    }
    ```
    
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章