21 java logging slf4j maven log4j2
我在我的项目中使用log4j2和slf4j并使用maven进行构建.我正在使用以下pom文件(仅显示相关的依赖项),但我收到下面复制的错误与此pom文件 - 任何想法我需要添加/删除以使其工作.我已经访问了错误中的url以及log4j2依赖项页面,因此请不要只指向响应中的URL.
信息:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Run Code Online (Sandbox Code Playgroud)
pom文件
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<slf4j.version>1.7.7</slf4j.version>
</properties>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
更新: 我在我的pom文件中添加了以下依赖项,我在mavenrepository中看到了jar - 虽然我在运行mvn clean/install时仍然看到相同的消息
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
ali*_*der 18
您好像丢失了pom文件中的以下内容.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
你的log4j2配置是正确的(POM端),但是你永远不会对slf4j说它应该写的地方(后端部分).
你应该将它添加到你的pom文件中
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这是Log4j 2 SLF4J绑定.根据Log4j 2 SLF4J Binding文档 Log4j 2 SLF4J Binding允许编码为SLF4J API的应用程序使用Log4j 2作为实现
如果它仍然不起作用,则可能存在Eclipse问题,因为已知Eclipse m2e对于slf4j很奇怪.根据SO SLF4J的详细帖子:无法加载类"org.slf4j.impl.StaticLoggerBinder".错误一个解决方法可能是使用外部maven进行构建.