每天创建新的Spring日志文件

时间:2020-02-24 23:50:50

标签: spring spring-boot

我想配置Spring将日志消息写入文件:

logging.file=/my-logs/app.log
logging.path=/my-logs/spring.log

每天可以旋转文件吗?我想每天创建一个新文件。

1 个答案:

答案 0 :(得分:0)

来自doc

日志文件达到10 MB时会旋转,并且与控制台输出一样,默认情况下会记录ERROR级别,WARN级别和INFO级别的消息。可以使用 logging.file.max-size 属性来更改大小限制。除非已设置 logging.file.max-history 属性,否则以前旋转的文件将无限期存档。

此外,如果您只想登录“ /my-logs/app.log”,请删除 logging.path 并将 logging.file 更改为:

logging.file=/my-logs/app.log

编辑:关于每天轮换日志,Spring默认记录器不支持它,可以使用Logback。在src / main / resources中创建一个名为logback-spring.xml的文件,其内容如下:

<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0}[%M:%L] - %msg%n</pattern>
    </encoder>
</appender>

<appender name="ROTATE_FILE_DAILY" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>/my-logs/app.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>app-%d{yyyy-MM-dd}.log</fileNamePattern>
    </rollingPolicy>
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0}[%M:%L] - %msg%n</pattern>
    </encoder>
</appender>

<root level="INFO">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="ROTATE_FILE_DAILY"/>
</root></configuration>