当前位置: 首页 > 知识库问答 >
问题:

排除spring-boot-starter-web中的日志回传依赖项会阻止log4j系统正确初始化

子车文康
2023-03-14
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/.m2/repository/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]

以下是排除日志时遇到的问题:

log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

以下是排除slf4j-log4j时的错误:

Exception in thread "main" java.lang.AbstractMethodError: org.springframework.boot.context.config.ConfigFileApplicationListener.supportsSourceType(Ljava/lang/Class;)Z

共有1个答案

黄靖
2023-03-14

为什么您认为日志是一个依赖项?

Logback直接实现slf4j,您通过sl4j api使用Logback,因此您的代码永远不会依赖于Logback,但它可能依赖于slf4j。

您在此概述的问题:

log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
 类似资料:
  • 我正在努力学习硒。 我收到以下错误消息: log4j:WARN找不到记录器(org.apache.http.client.protocol.RequestAddCookies)的追加器。log4j:警告请正确初始化log4j系统。log4j:请参阅http://logging.apache.org/log4j/1.2/faq.html#noconfig更多信息。 因此,我下载了文件,我在谷歌上搜索

  • 我使用本教程使用SLF4J设置log4j2。这是我的全部pom.xml:

  • 问题内容: 这是错误消息- 这是该类中的调用- 这是我的log4j.properties文件的内容- 属性文件在类路径上。 一切对我来说都很好,这是怎么回事?如果不是门槛也可拍摄记录? 问题答案: 好了,所以我通过更改 对此 显然,您必须将日志记录级别指定为第一个?如果我浪费任何人的时间,我深表歉意。 另外,我决定回答我自己的问题,因为这不是类路径问题。

  • 问题内容: 问这个问题似乎很愚蠢,但我很困惑。我提到了配置Log4j属性,但这似乎无济于事。 我已经编写了一个简单的Web服务HelloWorld。而在运行它时,我得到这样的错误: log4j:WARN找不到记录器的附加程序(org.apache.axis.transport.http.AxisServlet)。log4j:WARN请正确初始化log4j系统。 我不确定为什么会这样。 我正在使用E

  • 我在Jetty上使用Spring Boot,似乎我不能在Gradle构建文件中排除所有的Tomcat依赖项。 build.gradle的相关部分: 然而,当我运行时,Tomcat的一部分仍然存在,并导致WebSocket出现问题: 为什么< code > spring-boot-starter-Tomcat 没有被排除在< code > spring-boot-starter-web 之外?

  • 问题内容: 将log4j添加到我的应用程序后,每次执行我的应用程序时,都会得到以下输出: 看来这意味着缺少配置文件。此配置文件应位于何处,什么是良好的入门内容? 我使用纯Java开发桌面应用程序。因此没有网络服务器等… 问题答案: 默认情况下,在上查找名为或的文件。 您可以按照此处所述通过设置系统属性来控制它用来初始化自身的文件(查找“默认初始化过程”部分)。 例如: 将导致在类路径上查找名为的文