Apache Log4j 是一个众所周知的用于记录应用程序行为的框架。 Log4j 2是对Log4j的升级，可提供重大改进，超越其前身Log4j 1.x，并提供许多其他现代功能 ，例如对标记的支持，使用查找的属性替换等等。
As of Log4j 2.9.0, the Log4j API was modified to use
java.util.ServiceLoader to locate Log4j implementations, although the former binding mechanism is still supported. The Log4j API jar is now a
multi-release jar to provide implementations of Java 9 specific classes.
Multi-release jars are not supported by the OSGi specification so OSGi
modules will not be able to take advantage of these implementations but will not lose functionality as they will fall back to the implementations used in Java 7 and 8. More details on the new features and fixes are itemized below. Note that some tools are not compatible with multi-release jars and may fail trying to process class files in the META-INF/versions/9 folder. Those errors should be reported to the tool vendor.