spring如何加载默认的日志实现模式logback呢?

欣喜 Spring 发布时间:2025-03-04 15:50:26 阅读数:13767 1

SpringBoot加载Logback日志框架的简介说明

SpringBoot采用自动配置的方式加载Logback日志实现模式
   具体的实现方式,如下所示

1.依赖引入

 
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-logging</artifactId>
</dependency>
 
此依赖包含以下组件:
- SLF4J API:提供日志抽象层。
- Logback Classic:实际的日志实现。
- 其他必要的桥接器:
    如 `jul-to-slf4j` 和 `log4j-to-slf4j`
	用于将其他日志框架的输出重定向到 SLF4J。

2.自动配置

Spring Boot 的自动配置机制会检测项目中是否存在特定的日志框架
 并根据优先级选择合适的日志实现。具体步骤如下:

检测日志框架
- Spring Boot会检查类路径中是否存在以下日志框架(按优先级顺序)
  1.Logback:
     如果存在`logback-classic.jar`
	   则使用Logback。
  2.Log4j2:
     如果存在`log4j-core.jar`
	  则使用Log4j2。
  3.Java Util Logging(JUL):
     如果没有其他日志框架
	   则使用JDK自带`java.util.logging`。

初始化 Logback
- 如果选择了 Logback,Spring Boot 会自动初始化 Logback 并配置默认的日志设置。
- 默认配置文件是 `logback-spring.xml` 
   或 
   `logback.xml`
   位于项目`src/main/resources` 目录下。

3.配置文件
`logback-spring.xml`
- 这个文件允许你利用 Spring Boot 的特性,例如占位符替换、条件配置等。
- 例:
  <?xml version="1.0" encoding="UTF-8"?>
  <configuration>
      <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
          <encoder>
              <pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern>
          </encoder>
      </appender>

      <root level="info">
          <appender-ref ref="STDOUT" />
      </root>
  </configuration>

`logback.xml`注意事项

- Logback配置文件,不依赖于 Spring Boot 特性。
- 如果同时存在`logback-spring.xml` 和 `logback.xml`
   Spring Boot会优先使用`logback-spring.xml`

应用属性配置

还通过 `application.properties` 
  或
  `application.yml` 文件
  来配置 Logback 的一些基本参数:

`application.properties`
```properties
logging.level.root=INFO
logging.file.name=app.log
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} - %msg%n

`application.yml`
```yaml
logging:
  level:
    root: INFO
  file:
    name: app.log
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/Spring/202503/8353.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者