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

标签 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>

最佳答案

包括<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/

关于java - Logback - 在启动时删除日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20793320/

相关文章:

java - 如何混淆基于java的项目

java - 我可以使用java中的套接字连接2台计算机吗?

java - 使用 JMS 和 logback 的分布式日志记录

java - 有没有办法在java中动态命名日志文件?

java - 将文件名中的日期模式与滚动频率解耦

emacs - 限制 ENSIME 服务器缓冲区的长度;该缓冲区的钩子(Hook)

java - 从 Xpath 获取属性

java - java中使用GZIP对字符串进行压缩和解压

Java Spring上传文件到FTP服务器

gradle - Gradle和SLF4J/登录