代码之家  ›  专栏  ›  技术社区  ›  MPK

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

  •  4
  • MPK  · 技术社区  · 6 年前

    我现在正在创建一个独立的java应用程序,它需要作为可执行的jar运行。我已经为正确的日志记录配置了log4j。它在从eclipse运行应用程序时写入所有日志文件。但当我运行可执行jar时,它会出现一个警告 **log4j:警告找不到记录器的附加器 log4j:警告请正确初始化log4j系统。 log4j:警告请参阅 http://logging.apache.org/log4j/1.2/faq.html#noconfig 了解更多信息** 有人能建议如何解决这个问题吗?

    2 回复  |  直到 6 年前
        1
  •  6
  •   Cowboy Farnz    6 年前

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

    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
    

    最后的努力是:

    移动日志4J。属性文件保存到src文件夹中。打开Windows资源管理器,浏览到项目所在的目录。浏览到bin目录并删除其中包含的所有文件夹。

    现在,在eclipse中单击项目-->清洁-->好啊

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

        2
  •  0
  •   MPK    6 年前

    我尝试在我的主类上添加以下配置。 PropertyConfigurator.configure("/opt/resources/log4j.properties"); 它确实起了作用。即使它仍显示警告消息,但正在写入日志文件。