spring如何加载默认的日志实现模式logback呢?
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"
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。