加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Log4J:无法在FileAppender中使用bufferedIO = true更改

发布时间:2020-12-15 02:24:58 所属栏目:Java 来源:网络整理
导读:我想我使用log4j遇到了问题.我正在尝试启用bufferedio,但是8KB的默认缓冲区大小对于我当前的需求来说太大了 appender name="MyAppender" class="org.apache.log4j.FileAppender" param name="bufferedIO" value="true"/ param name="bufferSize" value="512"
我想我使用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是最接近的替代品.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读