gpt4 book ai didi

java - org.apache.log4j.helpers.CountingQuietWriter.write 处 Writer 处出现 NullPointerException

转载 作者:行者123 更新时间:2023-11-30 06:04:18 24 4
gpt4 key购买 nike

我从具有 log.info 语句的简单代码行中收到以下错误

java.lang.NullPonterException
at java.io.Writer.write(Writer.java:157)
at org.apache.log4j.helpers.CountingQuietWriter.write(CountingQuietWriter.java:45)
at org.apache.log4j.WritingAppender.subAppend(WriterAppender.java:310)
at org.apache.log4j.RollingAppender.subAppend(RollingAppender.java:276)
at org.apache.log4j.WritingAppender.append(WriterAppender.java:162)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
at org.apache.log4j.helpers.AppenderAttachbleImpl.appendLoopOnAppenders(AppenderAttachbleImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.info(Category.java:666)
at com.bizcase.Helper.showTip(Helper.java:32)

如果遇到这个问题,谁能提供建议吗?

我正在使用 log4j 版本 1.2.17 和普通滚动附加程序。

它不是 null 对象的 NullPonterException。它来自 log4j 库,超出了我的控制范围,无法确定是哪个 log4j 属性或代码导致了此问题。

最佳答案

查看源代码1:

  • “org.apache.log4j.helpers.CountingQuietWriter.write(CountingQuietWriter.java:45)”是对 Writer.write(String) 的调用。

  • 如果字符串为空,Writer.write(String) 只能抛出 NPE。

  • 这意味着 CountingQuietWriter.write 是使用 null 参数调用的。

等等。 (剩下的你可以做!)

我认为您会发现根本原因是使用 null 消息调用 org.apache.log4j.Category.info(...)

另外,请注意 Category 的 javadoc 指出:

There is absolutely no need for new client code to use or refer to the Category class. Whenever possible, please avoid referring to it or using it.

<小时/>

因此,如果 com.bizcase.Helper您的代码,那么它需要修改,两者都需要修改以修复 NPE 错误 < em>和以避免直接使用Category

如果这不是您的代码,您需要找出 info 调用中空字符串的来源。我的猜测是它缺少工具提示......或类似的东西。

<小时/>

1 - 我在这方面遇到了阻碍,因为我不知道您正在使用的 Java 和 log4j 的精确版本,因此无法确定我是否拥有正确的源代码。而且我不知道 com.bizcase.Helper 的来源是什么样的。另一方面,您……作为开发人员……可以找到这些东西。这让您变得更加轻松。

关于java - org.apache.log4j.helpers.CountingQuietWriter.write 处 Writer 处出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51680423/

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