gpt4 book ai didi

log4j2 - log4j2配置中RollingFile和RollingRandomAccessFile有什么区别

转载 作者:行者123 更新时间:2023-12-04 07:53:05 40 4
gpt4 key购买 nike

在我们当前的实现中,其中一台服务器的Log4j2配置设置为RollingRandomAccessFile,而另一台则配置。我想知道两者之间的区别,如果可能,各自的利与弊是什么。

谢谢

最佳答案

主要区别在于性能:
http://logging.apache.org/log4j/2.x/manual/async.html#FileAppender_vs._RandomAccessFileAppender

RandomAccessFileAppender始终处于缓冲状态,而FileAppender提供了一个配置开关(bufferedIO)。如果您想确保邮件在磁盘上(例如审核日志记录),则两者都有一个“immediateFlush”配置选项。最后,RandomAccessFileAppender的默认缓冲区大小更大:256 * 1024字节,而FileAppender的默认缓冲区大小为8 * 1024字节(可以在配置中设置两个Appender缓冲区的大小)。

另外,底层实现在一种情况下使用RandomAccessFile,在另一种情况下使用OutputStream(顾名思义)。将RandomAccessFileAppender与unix logrotate实用程序(https://issues.apache.org/jira/browse/LOG4J2-354)结合存在一个已知问题,Log4j团队建议您使用RollingRandomAccessFile进行翻转,并避免使用unix logrotate实用程序。显然FileAppender可以与logrotate结合使用-我们还没有听说过任何问题。 (由于这个问题已经提到了两个appender的Rolling ...变体,所以您已经做对了,我只是想提一提。)

关于log4j2 - log4j2配置中RollingFile和RollingRandomAccessFile有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27836850/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com