![](/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.