使用 log4j2 zip 的性能注意事项

Perfomance considerations using log4j2 zip

我们可以要求 log4j 在使用时 gz 日志文件:

<RollingRandomAccessFile name="TotallogFileAppender"
    fileName="d:/logs/my.log" filePattern="d:/logs/my-%d{yyyy-MM-dd}-%i.log.gz">
    <PatternLayout pattern="${filelayoutPattern}" />
    <Policies>
        <TimeBasedTriggeringPolicy />
        <SizeBasedTriggeringPolicy size="150 MB" />
    </Policies>
    <DefaultRolloverStrategy max="2000" />
</RollingRandomAccessFile>

由于压缩消耗 cpu,我想知道 gzip 何时完成?!日志文件是在触发大小或时间策略后创建并压缩(一次 gzip),还是在写入硬盘时进行 gzip(连续 gzip)。第一个似乎有更好的表现(我说得对吗?!)

log4j2归档gzip文件的性能一般需要注意哪些问题

重命名文件在调用线程中完成,但压缩旧文件 在单独的后台线程中完成。假设翻转不经常发生,因此为每次翻转创建一个新的后台线程,但您的应用程序的性能通常不会受到翻转的影响。