Logback - 在启动时删除日志文件

Ven*_*nom 11 java logback

我想在每次启动程序时删除日志文件,而不是追加它.我尝试过使用cleanHistoryOnStart属性,但这似乎没有任何效果.我可能在这里遗漏了一些东西.

如果重要的话,我在Linux上使用Eclipse.

<?xml version="1.0" encoding="utf-8"?>
<configuration scan="true" scanPeriod="10 seconds">
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{dd.MM.yyyy. HH:mm:ss} %level [%thread] %logger{20} - %msg%n</pattern>
    </encoder>
  </appender>
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>chat.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>chat.log.%d{yyyy-MM-dd}</fileNamePattern>
      <cleanHistoryOnStart>true</cleanHistoryOnStart>
    </rollingPolicy>
    <encoder>
      <pattern>%d{dd.MM.yyyy. HH:mm:ss} %level [%thread] %logger{20} - %msg%n</pattern>
    </encoder>
    <Encoding>utf-8</Encoding>
  </appender>
  <logger name="src" additivity="false" level="ALL">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="FILE"/>
  </logger>
  <root level="OFF">
    <appender-ref ref="STDOUT"/>
  </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

SAN*_*NN3 10

<param name="Append" value="false" />在启动时包含在appender中清理日志文件.

否则试试这个

http://veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-application-runs/

  • 自己注意:我能够通过在`FileAppender`中使用`<append> false </ append>来解决这个问题,它嵌套在`SiftingAppender`中(而不是`<param name ="Append"value ="false "/>`) (4认同)
  • 您好@bluenote10,我按照您的提到添加了正确的 &lt;append&gt;false&lt;/append&gt; 。但问题仍然没有解决。我的日志仍附加到现有文件中。`&lt;appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"&gt; &lt;file&gt;filename.log&lt;/file&gt; &lt;append&gt;false&lt;/append&gt; &lt;rollingPolicy class="ch.qos .logback.core.rolling.SizeAndTimeBasedRollingPolicy"&gt;...&lt;/rollingPolicy&gt;&lt;/appender&gt;` (2认同)