尝试搜索它,但我继续将...IS_UNDEFINED
作为我的文件名。我只想将当前日期附加到日志文件中。 logback.xml文件的任何简单示例?
这是我最近的尝试:
<Properties>
<property name="filePattern">log_${date:yyyy-MM-dd}.log</property>
</Properties>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${application.home:-.}/logs/${filePattern}</file>
<encoder>
<pattern>%date [%level] from %logger in %thread - %message%n%xException</pattern>
</encoder>
</appender>
答案 0 :(得分:6)
Regular FileAppender不支持文件名中的模式, 所以你必须改为使用RollingFileAppender + TimeBasedRollingPolicy。
RollingFileAppender 扩展了FileAppender,具有翻转日志文件的功能。例如,RollingFileAppender可以记录到名为log.txt文件的文件,并且一旦满足某个条件,就将其记录目标更改为另一个文件。
TimeBasedRollingPolicy 既易于配置又非常强大。它允许根据时间进行翻转。可以指定翻转每天,每周或每月发生一次。
像这样:
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${application.home:-.}/logs/log_.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%date [%level] from %logger in %thread - %message%n%xException</pattern>
</encoder>
</appender>
答案 1 :(得分:3)
我这样想:
<timestamp key="timestamp" datePattern="yyyyMMdd"/>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${application.home:-.}/logs/log_${timestamp}.log</file>
<encoder>
<pattern>%date [%level] - %message%n%xException</pattern>
</encoder>
</appender>