我们试图在log4j "bridge"的帮助下,强制一个旧的供应商提供的Java程序(一个JAR)使用log4j2。
为此,我:
- 从供应商的JAR中删除了所有以
org/apache/log4j/*
开头的条目 - 将
log4j-1.2-api-2.17.1.jar
和常规log4j-*-2.17.1.jar
文件添加到CLASSPATH
程序无法找到org/apache/log4j/spi/RootLogger
。列出桥JAR的内容,我在org/apache/log4j/spi/
下找到了几个类,但RootLogger
确实丢失了。
我该怎么处理这件事?
1条答案
按热度按时间z8dt9xmd1#
Log4j2的最新版本2.17.2包含了对Log4j 1.x桥的几十个修复(参见changelog)。
其中添加了
org.apache.log4j.RootLogger
类,以提供与Log4j 1.x的二进制兼容性。警告:许多添加的类是无操作的,只是阻止了您问题中的
ClassNotFoundException
。