springboot日志怎么分文件存储
时间: 2023-05-24 13:02:44 浏览: 209
A:Spring Boot允许使用日志框架,如logback、Log4j2和Java自带的java.util.logging等,将日志记录到文件系统中。以下是一种将Spring Boot日志分文件存储的方法:
1.添加依赖
在`pom.xml`文件中添加logback依赖:
```xml
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
```
2.创建logback.xml文件
在项目的`src/main/resources/`目录下创建`logback.xml`文件,并在该文件中配置按照不同的日志级别输出到不同的文件中:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--定义日志文件路径-->
<property name="log.dir" value="/path/to/logs"/>
<!--控制台输出-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!--INFO级别输出到info.log-->
<appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!--ERROR级别输出到error.log-->
<appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!--设置日志输出级别-->
<root level="INFO">
<appender-ref ref="console"/>
<appender-ref ref="info"/>
<appender-ref ref="error"/>
</root>
</configuration>
```
在这个配置文件中,我们指定了日志文件的路径,定义了三个输出端,分别为控制台、INFO级别的日志输出到info.log文件中,ERROR级别的日志输出到error.log文件中,并且设置了日志输出的级别为INFO。
3.测试
在应用程序中记录日志时,可以像下面这样:
```java
private static final Logger logger = LoggerFactory.getLogger(YourClass.class);
// ...
logger.info("something happened!");
logger.error("something went wrong!", exception);
```
启动应用程序后,将在日志文件夹中看到按照日志级别输出到不同文件中的日志。
注意:由于应用程序通常以Jar包的形式运行,所以应确保将`logback.xml`文件放置在classpath上,而不是在Jar包中的文件中。