我正在尝试实现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中添加的项目和依赖项:
如有任何帮助,我们不胜感激。
8条答案
按热度按时间aij0ehis1#
在我的例子中,这个错误与maven-shade-plugin的版本(3.2.2)有关。
当我将此插件设置为版本3.2.1时,它可以工作
wn9m85ua2#
我在NetBeans 8.2中添加JAR log4j-api-2.12.2.jar时遇到了这个问题。
NetBeans在控制台中打印以下消息:
StatusLogger Log4j2找不到日志记录实现。请将log4j-core添加到类路径。正在使用SimpleLogger登录到控制台...
当我在我的项目中添加log4j-core-2.12.2.0001L.jar时,我解决了这个问题。
我想在Spring中,您只是在Maven中添加了大多数依赖项log4j-core。
链接下载JAR
https://jar-download.com/?search_box=log4j-core
zbwhf8kr3#
我在将log4j从1.x升级到Log4j-2.17.1时也遇到了同样的问题。在部署到GlassFish服务器时收到此错误。
我采取了以下步骤来纠正这一点:
1.关闭Log4j2的自动初始化。已添加到web.xml
<context-param> <param-name>isLog4jAutoInitializationDisabled</param-name> <param-value>true</param-value> </context-param>
1.编程初始化Log4j2:
InputStream inputStream = new FileInputStream("path of Log4j2.xml"); ConfigurationSource source = new ConfigurationSource(inputStream); Configurator.initialize(null, source);
inn6fuwd4#
只需将log4j-core-2.12.2.0001L.jar添加到项目中即可解决问题。
c0vxltue5#
这种依赖关系有助于避免lambda出现这种错误。
frebpwbc6#
已通过设置log4j2配置文件的系统属性解决错误消息。下面是下面的代码。
fgw7neuy7#
如果您已经向maven pom添加了log4j-core,那么您不需要更多的东西,它应该可以工作。问题可能出在您的IDE上,它看不到您的maven依赖。尝试重新加载或重新导入maven依赖项,或者重新启动您的IDE也会有所帮助。
57hvy0tb8#
为了绕过Spring Boot的类似问题,我补充道
致我的POM