【发布时间】:2016-12-07 14:11:21
【问题描述】:
我有 bufferSize="512" 的异步附加程序。
在某些情况下,我需要强制刷新缓冲区。我该怎么做?
我不会关闭 LogManager,所以LogManager.shutdown(); 不是一个选项。
请帮忙!
更新:这是我的 log4j2.xml 的一部分:
<Kafka name="Kafka" topic="logs-gexd-default">
<PatternLayout>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5p %C{1}:%L - %m%n</pattern>
</PatternLayout>
<Property name="bootstrap.servers">${kafkaAddress}</Property>
</Kafka>
<Async name="AsyncKafka" bufferSize="512" blocking="false">
<AppenderRef ref="Kafka"/>
</Async>
我在 Async appender 中有一个 Kafka appender。不幸的是,Kafka appender 和 Async appender 都没有 immediateFlush 字段。
【问题讨论】: