我正在尝试实施 log4j 2 ,但它不断抛出以下错误。
> ERROR StatusLogger Log4j2 could not find a logging implementation.
> Please add log4j-core to the classpath. Using SimpleLogger to log to
> the console...
> ERROR LogExample This Will Be Printed On Error
> FATAL LogExample This Will Be Printed On Fatal
我已经尝试过网上给出的解决方案。但是,似乎并没有为我工作。
这是我想要运行的代码。
package demo;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class LogExample {
private static final Logger LOG = LogManager.getLogger(LogExample.class);
public static void main(String[] args) {
LOG.debug("This Will Be Printed On Debug");
LOG.info("This Will Be Printed On Info");
LOG.warn("This Will Be Printed On Warn");
LOG.error("This Will Be Printed On Error");
LOG.fatal("This Will Be Printed On Fatal");
LOG.info("Appending string: {}.", "Hello, World");
}
}
在pom.xml中添加了项目和依赖项:
感谢任何帮助。感谢。
答案 0 :(得分:3)
通过设置log4j2配置文件的系统属性解决了错误消息。以下是以下代码。
System.setProperty("log4j.configurationFile","./path_to_the_log4j2_config_file/log4j2.xml");
Logger log = LogManager.getLogger(LogExample.class.getName());
答案 1 :(得分:2)
此依赖性有助于避免lambda出现此错误。
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>2.8.2</version>
</dependency>
答案 2 :(得分:1)
如果您已经将 log4j-core 添加到 maven pom,那么您不需要更多它应该可以工作的东西。问题可能出在您的 IDE 上,它没有看到您的 Maven 依赖项。尝试重新加载或重新导入 maven 依赖项,或者重新启动 IDE 也有帮助。
答案 3 :(得分:0)
要解决与Spring Boot类似的问题,我添加了
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
到我的POM
答案 4 :(得分:0)
就我而言,该错误与Maven-shade-plugin的版本(3.2.2)有关。
当我将此插件设置为3.2.1版时,它可以工作