springboot logback 使用
时间: 2025-01-15 10:59:39 浏览: 59
### 如何在 Spring Boot 中配置和使用 Logback 进行日志管理
#### 配置 `application.yml` 文件中的日志属性
为了更好地控制日志行为,在 `application.yml` 或者 `application.properties` 文件中可以指定一些基本的日志参数。例如:
```yaml
logging:
level:
root: INFO
com.example.demo: DEBUG
file:
path: './logs'
name: '${LOGGING_FILE_PATH:-./logs}/app.log'
config: 'classpath:logback-spring.xml'
```
这段配置指定了根日志级别为 `INFO`,而特定包下的类则采用更详细的 `DEBUG` 日志级别;还设置了日志文件存储路径以及名称,并指向了一个名为 `logback-spring.xml` 的自定义日志配置文件[^2]。
#### 创建并编辑 `logback-spring.xml` 文件
按照官方建议创建一个叫做 `logback-spring.xml` 的XML格式的Logback配置文件放置于资源目录下。此文件允许更加细粒度地定制化日志输出方式、格式及时机等内容。下面给出了一种常见的模板结构:
```xml
<configuration>
<!-- 定义变量 -->
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n"/>
<property name="LOG_DIR" value="./logs"/>
<!-- 控制台输出 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- 滚动文件输出 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_DIR}/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>${LOG_DIR}/archived/app.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- 设置默认的日志记录器 -->
<root level="info">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
```
上述 XML 片段展示了如何设置控制台与文件两种类型的 appender 来分别处理不同场景下的日志需求。其中特别值得注意的是对于文件型 Appender 使用了基于时间和大小混合策略来进行轮转操作,从而有效地解决了长期运行应用所产生的大量日志占用过多磁盘空间的问题[^1]。
阅读全文
相关推荐


















