【发布时间】:2014-11-13 04:57:18
【问题描述】:
我正在为log4j2 使用以下配置,并注意到日志语句在刷新到磁盘之前存储在内存中。是否有设置来控制在刷新到磁盘之前将多少消息存储在内存中?
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug" name="TestApp" packages="">
<Appenders>
<RollingRandomAccessFile name="RollingRandomAccessFile" fileName="logs/test.log" immediateFlush="false" append="false"
filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="500 MB"/>
</Policies>
</RollingRandomAccessFile>
</Appenders>
<Loggers>
<AsyncLogger name="FATAL_LOGGER" level="fatal" includeLocation="true" additivity="false">
<AppenderRef ref="RollingRandomAccessFile"/>
</AsyncLogger>
<Root level="debug" includeLocation="false">
<AppenderRef ref="RollingRandomAccessFile"/>
</Root>
</Loggers>
</Configuration>
【问题讨论】:
-
更多人似乎对编辑感兴趣,而不是实际回答。我知道编辑很重要,但我认为没有人(知道答案的人)根据原始格式误解了实际问题。
标签: java logging configuration log4j log4j2