Spring Boot日志配置:如何禁用日志归档并保留多日日志文件?
当然可行!这里是具体解决方案
首先得明确:Spring Boot 默认使用 Logback 作为日志框架,它的默认配置会在每日结束时将当前日志文件归档(通常是重命名为带日期的文件,部分场景会自动压缩)。如果你希望保留多日的原始格式日志文件(不压缩归档),只需要自定义 Logback 的配置即可实现。
具体实现步骤
你需要在项目的 src/main/resources 目录下创建一个名为 logback-spring.xml 的自定义配置文件,替换默认的日志滚动策略:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 读取Spring Boot配置中的日志路径 --> <springProperty scope="context" name="LOG_PATH" source="logging.file.path"/> <!-- 控制台输出(可选,保留默认的控制台日志输出) --> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- 文件输出:按天生成独立日志文件,不压缩归档 --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 当前正在写入的日志文件 --> <file>${LOG_PATH}/app.log</file> <!-- 基于时间的滚动策略:每天生成一个新文件 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 滚动后的日志文件名格式(不带压缩后缀) --> <fileNamePattern>${LOG_PATH}/app.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 保留7天的日志文件,和你原配置的需求一致 --> <maxHistory>7</maxHistory> <!-- 可选:设置日志总大小上限,防止磁盘被占满 --> <totalSizeCap>10GB</totalSizeCap> <!-- 禁用压缩:0表示不压缩,避免日志被自动打包成.gz文件 --> <compressionLevel>0</compressionLevel> </rollingPolicy> <!-- 日志格式,和Spring Boot默认格式保持一致 --> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- 针对你的业务包设置DEBUG级别日志 --> <logger name="com.example.com" level="DEBUG"/> <!-- 根日志级别配置 --> <root level="INFO"> <appender-ref ref="CONSOLE"/> <appender-ref ref="FILE"/> </root> </configuration>
关键配置说明
TimeBasedRollingPolicy:指定按日期滚动日志,每天结束时会将当前的app.log重命名为app.2024-xx-xx.log,然后自动创建新的app.log继续写入。fileNamePattern:定义历史日志的命名格式,这里没有添加.gz后缀,确保日志文件以原始文本格式保留,不会被压缩归档。maxHistory:保留最近7天的日志文件,超过7天的会自动删除,和你原配置的需求完全匹配。compressionLevel:设置为0完全禁用压缩,保证所有历史日志都是可直接查看的未压缩文本文件。
效果验证
启动 Spring Boot 应用后,日志会输出到 /home/user/logs/app.log,每天结束后,这个文件会被重命名为带当日日期的文件(比如 app.2024-05-20.log),同时生成新的 app.log。你会在日志目录下看到最近7天的所有原始日志文件,没有任何压缩归档的情况。
内容的提问来源于stack exchange,提问作者Rajith K
相关产品推荐
相关产品推荐

