gpt4 book ai didi

java - Log4J:无法在 FileAppender 处使用 bufferedIO = true 更改 bufferSize

转载 作者:搜寻专家 更新时间:2023-11-01 03:44:27 25 4
gpt4 key购买 nike

我想我在使用 log4j 时遇到了问题。我正在尝试启用 bufferedio,但 8KB 的默认缓冲区大小对于我当前的需求来说太大了

<appender name="MyAppender" class="org.apache.log4j.FileAppender">
<param name="bufferedIO" value="true"/>
<param name="bufferSize" value="512"/>
<param name="Append" value="true"/>
<param name="File" value="C:/MyMonitor.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{dd/MM/yyyy HH:mm:ss}|%m%n"/>
</layout>
</appender>

<logger name="com.mypackage.MyMonitor">
<level value="debug"/>
<appender-ref ref="MyAppender"/>
</logger>

我尝试了不同大小的缓冲区,但只有当缓冲区达到 8KB 时才会写入文件。

我在 Log4J 中找不到任何描述这个问题的错误,即使我可以找到另一个有同样问题的人(没有任何解决方案)。

启用 Log4J 调试显示我的 appender 具有正确的缓冲区大小,因此我认为没有人正在覆盖我的配置。

知道我做错了什么吗?这真的是 Log4J 中的错误或限制吗?

谢谢。

最佳答案

我注意到,您编写的 bufferedIO 是从小写字母开始的,而 BufferSize 是从大写字母开始的。 Java 默认区分大小写,因此请使所有参数看起来像 constructor 中的那样。 (bufferSize 应该小写)。

据我所知,FileAppender 已被弃用。 WriterAppender是最接近的替代品。

关于java - Log4J:无法在 FileAppender 处使用 bufferedIO = true 更改 bufferSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5703063/

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