fluentd无法识别由logback追加程序写入的文件的日志轮换

时间:2019-04-01 13:42:56

标签: java logback fluentd

我在docker上运行了fluentd,并将​​其配置为尾部已挂载的日志文件。 为了测试fluentd如何处理日志轮换,我创建了一个Java应用程序,将logback logger配置为写入该文件,每分钟滚动一次,最大滚动速度为15kb。 似乎fluentd无法识别此文件的滚动状态

我正在使用fluentd docker image fluent / fluentd:v1.3.2-debian

流利的配置文件:

<source>
  @type tail
  path /var/log/audit.log
  pos_file /var/log/audit.log.pos
  tag audit
  format json
</source>
<match audit>
  @type stdout
</match>

我使用的logback版本是经典的logback版本1.2.3 附加程序配置:

<appender name="AUDIT_LOG" class="CustomAppender">
        <file>/tmp/logs/audit.log</file>
        <encoder>
            <pattern>%m%n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>/tmp/logs/audit.log.%d{yyyy-MM-dd_HH_mm__}%i.log</fileNamePattern>
            <maxHistory>30</maxHistory>
            <maxFileSize>15kb</maxFileSize>

        </rollingPolicy>
</appender>

我非常确定问题在于注销后将文件刷新到磁盘。 当我调试logback时,fluentd确实能够识别滚动。同样,当我在外壳中手动重命名文件时(mv audit.log audit.old.log)

0 个答案:

没有答案