簡體   English   中英

當以jar運行Java應用程序時,出現log4j警告(請正確初始化log4j系統。)

[英]log4j warning (Please initialize the log4j system properly.) when running java application as jar

我現在正在創建一個獨立的Java應用程序,該應用程序需要作為可執行jar運行。我已經將log4j配置為正確的日志記錄。 從eclipse運行應用程序時,它將寫入所有日志文件。但是,當我運行可執行jar時,它會發出警告,顯示為** log4j:WARN找不到記錄器log4j:WARN的附加程序請正確初始化log4j系統。 log4j:WARN有關更多信息,請參見http://logging.apache.org/log4j/1.2/faq.html#noconfig **有人可以建議如何解決此問題嗎?

您可能沒有有效或正確的配置。 將此添加到您的主要方法。

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中單擊project-> clean-> OK

這將迫使它再次構建項目,將從bin目錄中刪除的所有內容都將重新創建。 然后,在新構建它時再次使用可執行jar。

我嘗試在主類上添加以下配置。 PropertyConfigurator.configure("/opt/resources/log4j.properties"); 它確實起作用了。 即使它仍顯示警告消息,但它正在寫入日志文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM