在Spring Boot中,使用logback-spring.xml
文件来配置日志输出格式和存储到文件。
-
打开
src/main/resources
目录下的application.properties
或application.yml
文件,并添加以下配置来启用Spring Boot的日志功能:
# application.properties
logging.level.root=INFO
logging.file.name=app.log
//这里可以修改路径
logging.file.name=/path/to/your/logfile.log
或者在application.yml
中:
# application.yml
logging:
level:
root: INFO
file:
name: app.log
//这里可以修改路径
logging:
file:
name: /path/to/your/logfile.log
-
在
src/main/resources
目录下创建logback-spring.xml
文件,并添加以下内容来定义日志输出格式和路径:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<springProperty scope="context" name="LOG_FILE" source="logging.file.name" defaultValue="app.log"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_FILE}</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
在这个配置中,日志将被输出到控制台和文件,文件名由logging.file.name
属性定义,并且按日期滚动存储,每个日志文件最大为100MB。
以上配置将使得Spring Boot应用在运行时生成格式化的日志输出,并将其存储到指定的文件中。