![](/img/trans.png)
[英]Intermittent exception Could not initialize class org.apache.logging.log4j.LogManager when start docker container on AWS Fargate
[英]Getting this error: "Could not initialize class org.apache.logging.log4j.LogManager"
我已經包含了所有必要的 log4j jar 文件,但我不明白為什么我仍然收到此錯誤。
package in.gstzen.einvoice;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
public class Log4jExample {
private static Logger logger = LogManager.getLogger(Log4jExample.class);
public static void main(String[] args) throws Exception {
System.out.println("Hello World!\n");
logger.debug("Log4jExample: A Sample Debug Message");
logger.info("Log4jExample: A Sample Info Message");
logger.warn("Log4jExample: A Sample Warn Message");
logger.error("Log4jExample: A Sample Error Message");
logger.fatal("Log4jExample: A Sample Fatal Message");
System.out.println("Completed...");
}
}
這看起來像是 log4j 版本 1 和 2 之間的沖突。您的類正在導入版本 1 類,但錯誤消息是針對 spring 框架未找到版本 2 類的 jar 文件的響應。 您想使用一種或另一種版本。
版本 1 將具有類路徑為 org.apache.log4j.x 的類 jar 將被稱為 log4j-1.xx
版本 2 將具有類路徑類似於 org.apache.logging.log4j.x 的類 jar 將被命名為 log4j-core-2.xx 和一個類似於 log4j-slf4j18-impl-2.xx 的實現
請參閱此遷移助手: https : //logging.apache.org/log4j/2.x/manual/migration.html
注意:如果您的類路徑同時包含版本 1 和版本 2 jars 所使用的實際類的解析可能有點隨機(並且有問題)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.