【问题标题】:How to disable log4j in web applications (turn off WARN messages)如何在 Web 应用程序中禁用 log4j(关闭 WARN 消息)
【发布时间】:2013-08-01 23:10:28
【问题描述】:

简而言之:如何在 Web 应用程序中使用的第三方 jar 中配置一些 Log4j 记录器,以便它停止写出类似的警告

log4j:WARN No appenders could be found for logger (org.apache.activemq.transport.WireFormatNegotiator).
log4j:WARN Please initialize the log4j system properly.

并防止干净的关闭引发类似的错误

Exception in thread "InactivityMonitor WriteCheck" java.lang.NullPointerException
Exception in thread "InactivityMonitor ReadCheck" at java.util.TimerThread.run(Unknown Source) java.lang.NullPointerException

详情:

我正在编写一个使用 Apache ActiveMQ 的 Tomcat Web 应用程序。除了 activemq-all-5.5.1.jar 我必须将以下库放在类路径中以消除类路径问题:

  • log4j-1.2.15.jar
  • slf4j-api-1.5.11.jar
  • slf4j-log4j12-1.5.11.jar

现在我的应用程序开始打印上述警告。有a link on the Apache ActiveMQ web site,可惜坏了,Log4j wiki下线了。

我尝试创建一个名为 log4j.xml 的文件,如 here 所述,并将其放在 WEB-INF/ 目录中(我希望它属于) 但我也尝试将它与我的源代码一起放入“默认包”中(即 WEB-INF/classes/)。我还尝试了将 XML 标头添加到文件中的方法,就像我看到的 here 一样。它们都不能在任何一个位置工作。我在别处读到必须通过将-Dlog4j.configuration= 参数传递给JVM 来传递位置,但这不能在Web 应用程序上下文中使用。 Log4j for web application tutorial 展示了如何使用 web.xml 对其进行配置,但这需要库包含扩展 HttpServlet 的类。我猜Active MQ中没有这样的类,即使,我怎么找到它?

也许我完全错误的树,我不必配置 Log4j 本身,而是 Slf4j 它将默默地为我配置 Log4j?

只要我不需要这个记录器,最简单的方法是什么?

【问题讨论】:

    标签: jakarta-ee web-applications log4j activemq slf4j


    【解决方案1】:

    消除此消息的方法是正确设置 Log4J 配置。创建一个log4j.properties 文件并将其放在WEB-INF/classes 下,如here 所述。

    【讨论】:

      【解决方案2】:

      要删除这些消息,请创建一个名为 log4j.xml 的文件,其内容如下:

      <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
      <log4j:configuration threshold="off">
          <appender name="console" class="org.apache.log4j.ConsoleAppender">
              <param name="Threshold" value="off" />
          </appender>
          <appender name="rolling-file" class="org.apache.log4j.ConsoleAppender">
              <param name="Threshold" value="off" />
          </appender>
      </log4j:configuration>
      

      将文件放到“默认包”中。在 IDE 中,这通常是一个名为 /src 的文件夹。在 Web 应用程序设计中,这将在构建期间映射到 /WEB-INF/classes

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-12-20
        • 2013-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-02
        • 2016-04-03
        相关资源
        最近更新 更多