输出到system.log每天凌晨12:00停止

时间:2017-01-06 14:32:36

标签: cassandra

跑步:Cassandra 2.1.8.689 | Linux 2.6上的DSE 4.7.3

配置logback.xml。 Cassandra每天午夜停止写入日志文件。日志文件中的最后一个条目:

INFO [CompactionExecutor:6550] 2017-01-05 23:59:58,928INFO ......

在logback.xml中更改文件名(即system1.log到system2.log)后,写简历。 6个节点的相同行为是一致的。

谢谢Aaron。回溯详情如下。

<configuration scan="true">
  <appender name="FIX_WINDOW_BASED_FILE" 

class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${cassandra.logdir}/system.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
  <fileNamePattern>${cassandra.logdir}/system%i.log</fileNamePattern>
  <minIndex>1</minIndex>
  <maxIndex>31</maxIndex>
</rollingPolicy>

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  <maxFileSize>200MB</maxFileSize>
</triggeringPolicy>

<encoder>
  <pattern>%-5level [%thread] %date{ISO8601} %marker %F:%L - %msg%n</pattern>
  <!-- old-style log format
  <pattern>%5level [%thread] %date{ISO8601} %F (line %L) %msg%n</pattern>
  -->
</encoder>

问题已解决。将DSE从4.7.3升级到4.8.11后,输出到system.log工作正常。

1 个答案:

答案 0 :(得分:1)

您应该能够在logback.xml文件中控制此行为。该文件应该是<appender>部分,看起来应该是这样的:

  <appender name="stash" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <level>INFO</level>
    </filter>
    <file>/var/log/cassandra/system.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- daily rollover -->
        <fileNamePattern>/var/log/cassandra/system.log.%d{yyyy-MM-dd}-%i</fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
        <!-- or whenever the file size reaches 50MB -->
        <maxFileSize>50MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
        <!-- keep 5 days' worth of history -->
        <maxHistory>5</maxHistory>
   </rollingPolicy>
    <encoder class="net.logstash.logback.encoder.LogstashEncoder" />
  </appender>

我的猜测是文件翻转是在午夜触发的,但是<fileNamePattern>必须有一些内容阻止它创建新文件。