Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
作为jar运行java应用程序时出现log4j警告(请正确初始化log4j系统)_Java_Logging_Jar_Log4j - Fatal编程技术网

作为jar运行java应用程序时出现log4j警告(请正确初始化log4j系统)

作为jar运行java应用程序时出现log4j警告(请正确初始化log4j系统),java,logging,jar,log4j,Java,Logging,Jar,Log4j,我现在正在创建一个独立的java应用程序,它需要作为一个可执行的jar运行。从eclipse运行应用程序时,它会写入所有日志文件 **log4j:警告:找不到记录器的附加器 log4j:警告请正确初始化log4j系统。 log4j:有关更多信息,请参阅警告** 是否有人可以建议如何解决此问题?您可能没有有效或正确的配置。将此添加到主方法中 BasicConfigurator.configure(); 否则,如果在pom中使用maven,则可能无法正确设置属性文件 另一种情况是,您使用了两种不同

我现在正在创建一个独立的java应用程序,它需要作为一个可执行的jar运行。从eclipse运行应用程序时,它会写入所有日志文件 **log4j:警告:找不到记录器的附加器 log4j:警告请正确初始化log4j系统。 log4j:有关更多信息,请参阅警告**
是否有人可以建议如何解决此问题?

您可能没有有效或正确的配置。将此添加到主方法中

BasicConfigurator.configure();
否则,如果在pom中使用maven,则可能无法正确设置属性文件

另一种情况是,您使用了两种不同的日志框架。用一个或另一个

另一种尝试是这样设置属性或log4j rootlogger:

 Properties prop = new Properties(); 
 prop.setProperty("log4j.rootLogger", "WARN");
 PropertyConfigurator.configure(prop);
此外,您还可以在启动Java时尝试将系统属性添加到命令行:

-Dlog4j.configuration=file:///path/to/your/log4j.properties
最后的努力是:

将log4j.properties文件移动到src文件夹中。打开Windows资源管理器,浏览到项目所在的目录。浏览到bin目录并删除其中包含的所有文件夹

现在在eclipse中单击项目-->清理-->确定


这将迫使它重新构建项目,从bin目录删除的所有内容都将重新创建。然后在新构建可执行jar时再次使用它。

我尝试在我的主类上添加以下配置<代码>PropertyConfiguration.configure(“/opt/resources/log4j.properties”)并且它确实起作用了。尽管它仍然显示警告消息,但它正在写入日志文件。

根据过去的经验,我发现有时其他插件也会安装log4j版本,当有两个实例运行时,它们的性能并不好。看看你的情况是否如此。你的类路径中没有log4j.xml,你可以“正确地初始化log4j系统”。我只是假设你可能需要更多的解释/信息。简单地检查一下这个类的文档就可以准确地解释这个方法的作用了?我会以任何方式编辑它。@Stultuske同样,你上面的评论也没有得到很好的解释。'您可以“正确初始化log4j系统”。–'我的评论就是:“评论”。你提供了一个答案,这两者之间有很大的区别。我的评论背后的要点是:'错误消息告诉您必须做什么才能解决它,所以不要试图找出该做什么,而是如何做'@CowboyFarnz我尝试了两种方式添加配置。'PropertyConfiguration.configure();“”BasicConfigurator.configure();'但这些都不起作用