slf4j & log4j2 maven setup query
我在我的项目中使用log4j2和slf4j并使用maven进行构建。 我正在使用以下pom文件(仅显示了相关依赖项),但是我在此pom文件的下面复制了错误-我需要添加/删除所有内容才能使其正常工作。 我已经访问了错误中的url以及log4j2依赖项页面,因此请不要仅指向响应中的URL。
信息:
1 2 3 | 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. |
pom文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <slf4j.version>1.7.7</slf4j.version> </properties> <dependency> <groupId>org.slf4j</groupId> slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>com.lmax</groupId> disruptor</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> log4j-api</artifactId> <version>2.0.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> log4j-core</artifactId> <version>2.0.1</version> </dependency> |
更新:
我在pom文件中添加了以下依赖项,并且在mavenrepository中看到了jar-尽管在运行mvn clean / install时仍然看到相同的消息
1 2 3 4 5 | <dependency> <groupId>org.apache.logging.log4j</groupId> log4j-slf4j-impl</artifactId> <version>2.0.1</version> </dependency> |
您似乎在pom文件中缺少以下内容。
1 2 3 4 5 | <dependency> <groupId>org.apache.logging.log4j</groupId> log4j-slf4j-impl</artifactId> <version>2.0.1</version> </dependency> |
您的log4j2配置正确(在POM端),但是您从未对slf4j说它应该写入的位置(后端部分)。
您应该将其添加到您的pom文件中
1 2 3 4 5 | <dependency> <groupId>org.apache.logging.log4j</groupId> log4j-slf4j-impl</artifactId> <version>2.0.1</version> </dependency> |
这是Log4j 2 SLF4J绑定。根据Log4j 2 SLF4J绑定文档,Log4j 2 SLF4J绑定允许编码为SLF4J API的应用程序使用Log4j 2作为实现
如果仍然无法正常工作,则可能是Eclipse问题,因为已知Eclipse m2e对于slf4j很奇怪。根据来自SO SLF4J的详细帖子:无法加载类" org.slf4j.impl.StaticLoggerBinder"。错误的解决方法可能是使用外部Maven进行构建。
除了log4j-slf4j-impl依赖性外,您还需要slf4j-ext依赖性。
参见http://logging.apache.org/log4j/2.x/log4j-slf4j-impl/dependencies.html
我认为您的第一个pom.xml是正确的,(依赖关系是正确的),也许配置文件的位置是错误的
pom.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <dependency> <groupId>org.slf4j</groupId> slf4j-api</artifactId> <version>1.7.25</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> log4j-api</artifactId> <version>2.7</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> log4j-core</artifactId> <version>2.7</version> </dependency> |