在springboot中使用slf4j并指定日志格式且设置每天回滚日志到指定文件
时间: 2024-02-03 12:13:16 浏览: 100
在Spring Boot中使用SLF4J的话,需要先在pom.xml文件中添加相关依赖:
```xml
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- Logging with SLF4J -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
<!-- Logback Classic (or other SLF4J implementation) -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
</dependencies>
```
然后在src/main/resources目录下创建logback.xml配置文件,使用Logback作为SLF4J的实现。
配置文件示例:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 定义日志文件存储路径 -->
<property name="LOG_HOME" value="/var/log/myapp" />
<!-- 控制台输出日志 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %5p [%t] %c{1}:%L - %m%n</pattern>
</encoder>
</appender>
<!-- 每天回滚日志,保留30天 -->
<appender name="dailyRollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/myapp.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %5p [%t] %c{1}:%L - %m%n</pattern>
</encoder>
</appender>
<!-- 设置日志输出级别 -->
<root level="INFO">
<appender-ref ref="console" />
<appender-ref ref="dailyRollingFileAppender" />
</root>
</configuration>
```
上面的配置文件中,定义了一个LOG_HOME属性,用于指定日志文件存储路径。然后定义了两个appender,一个是控制台输出日志,另一个是每天回滚日志到指定文件。最后设置了日志输出级别和使用的appender。
这样就可以在应用中使用SLF4J进行日志记录,并且按照指定的格式和回滚方式存储到日志文件中了。
阅读全文