On this page
Log4j 运行时依赖项
一些 Log4J 功能取决于外部库。此页面列出了必需和可选的依赖项。
从 2.10.0 版开始,Log4j API 是 Java 模块(带有 module-info.java)。其他许多 jar 都是自动模块。这些模块的 Feature 是:
Artifact Name | Module Name | Module Characteristics | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
log4j-api | org.apache.logging.log4j | 模块指令 | 注意事项 | ||||||||||||||||||
Exportorg.apache.logging.log4j | Exportorg.apache.logging.log4j.message | Exportorg.apache.logging.log4j.simple | Exportorg.apache.logging.log4j.spi | Exportorg.apache.logging.log4j.spi | Exportorg.apache.logging.log4j.util | 此包中的某些类由日志记录实现使用,应视为私有。将来可能会修改模块信息定义,以仅将其导出到日志记录实现中。 | 使用 org.apache.logging.log4j.spi.Provider | 日志记录实现必须提供的服务。 | |||||||||||||
log4j-appserver | org.apache.logging.log4j.appserver | Automatic Module | |||||||||||||||||||
log4j-cassandra | org.apache.logging.log4j.cassandra | Automatic Module | |||||||||||||||||||
log4j-core | org.apache.logging.log4j.core | Automatic Module | |||||||||||||||||||
log4j-couchdb | org.apache.logging.log4j.couchdb | Automatic Module | |||||||||||||||||||
log4j-docker | org.apache.logging.log4j.docker | Automatic Module | |||||||||||||||||||
log4j-1.2-api | org.apache.log4j | Automatic Module | |||||||||||||||||||
log4j-flume-ng | org.apache.logging.log4j.flume | Automatic Module | |||||||||||||||||||
log4j-iostreams | org.apache.logging.log4j.iostreams | Automatic Module | |||||||||||||||||||
log4j-jcl | org.apache.logging.log4j.jcl | Automatic Module | |||||||||||||||||||
log4j-jmx-gui | org.apache.logging.log4j.jmx.gui | Automatic Module | |||||||||||||||||||
log4j-jul | org.apache.logging.log4j.jul | Automatic Module | |||||||||||||||||||
log4j-mongodb | org.apache.logging.log4j.mongodb | Automatic Module | |||||||||||||||||||
log4j-osgi | org.apache.logging.log4j.osgi | 自动模块。尚不清楚 OSGi 如何支持 Java 模块。 | |||||||||||||||||||
log4j-slf4j-impl | org.apache.logging.log4j.slf4j.impl | 自动模块。如果 SLF4J 要求所有实现都具有相同的模块名称,则可能需要重命名。 | |||||||||||||||||||
log4j-taglib | org.apache.logging.log4j.taglib | Automatic Module | |||||||||||||||||||
log4j-to-slf4j | org.apache.logging.log4j.slf4j | Automatic Module | |||||||||||||||||||
log4j-web | org.apache.logging.log4j.web | Automatic Module |
从 2.9.1 版本开始,Log4j 支持 Java 9,但仍将在 Java 7 或 8 中运行。在此版本中,log4j-api 被打包为多版本 jar,并支持使用 StackWalker 和 Process API。
从 2.4 版开始,Log4J 需要 Java 7.
Log4j 2.3 和更早版本需要 Java 6.
log4j-api
Log4J API模块没有外部依赖性。
log4j-core
Log4J Implementation具有几个可选的dependencies。有关这些功能所需的 JAR 文件的确切列表,请参见Dependency Tree。
- Log4J 实现中每个功能的可选依赖项*
Feature | Requirements | |
---|---|---|
XML configuration | - | |
Properties configuration | - | |
JSON configuration | Jackson 核心和数据绑定 | |
YAML configuration | Jackson databind和YAML 数据格式 | |
CSV Layout | Apache Commons CSV | |
JSON Layout | Jackson 核心和数据绑定 | |
XML Layout | Jackson 核心,数据绑定和数据格式 XML | |
And com.fasterxml.woodstox:woodstox-core:5.0.2 |
||
YAML 布局 | Jackson 核心,数据绑定和YAML 数据格式 | |
Async Loggers | LMAX Disruptor | |
Kafka Appender | KafkaClient 端库。请注意,您需要使用与所使用的 Kafka 服务器匹配的 KafkaClient 端库版本。 | |
SMTP Appender | javax.mail 的实现 | |
JMS Appender | 像Apache ActiveMQ这样的 JMS 代理 | |
Windows 控制台颜色支持 | Jansi | |
JDBC Appender | 用于您选择向其中写入事件的数据库的 JDBC 驱动程序 | |
JPA Appender | Java 持久性 API 类,JPA 提供程序实现和用户实现的修饰实体。它还需要适当的 JDBC 驱动程序。 | |
带有 MongoDB 提供程序的 NoSQL Appender | MongoDB JavaClient 端驱动程序和 Log4j MongoDB 库 | |
带有 Apache CouchDB 提供程序的 NoSQL Appender | LightCouch CouchDBClient 端库和 Log4j CouchDB 库 | |
Cassandra Appender | Datastax Cassandra 驱动程序和 Log4j Cassandra 库 | |
翻转时的 Bzip2,放气,Pack200 和 XZ 压缩 | Apache Commons Compress。另外,XZ 需要XZ for Java。 | |
ZeroMQ Appender | ZeroMQ 附加程序使用JeroMQ库,该库已根据 Mozilla 公共许可证版本 2.0(MPLv2)的条款获得许可。有关详细信息,请参见 JeroMQ 发行版随附的文件LICENSE。 |
log4j-docker
Log4j Docker 支持要求Jackson 注解,核心和数据绑定。有关所需的 JAR 文件的确切列表,请参见Dependency Tree。
log4j-jcl
公用伐木 bridge要求Commons Logging。有关所需的 JAR 文件的确切列表,请参见Dependency Tree。
log4j-1.2-api
Log4j 1.2bridge没有外部依赖项。这仅需要 Log4j API。包括 Log4j Core 在内,它提供了可选的附加功能。
log4j-slf4j-impl
Log4j 2 SLF4J Binding取决于SLF4J API。有关所需的 JAR 文件的确切列表,请参见Dependency Tree。
请勿与log4j-to-slf4j模块一起使用.
log4j-jul
Log4j 2 Java Util 日志记录适配器没有外部依赖性。根据需要,它取决于Log4j Core库。唯一需要的模块是 Log4j API。
log4j-to-slf4j
Log4j 2 到 SLF4J 适配器需要SLF4J API 和 SLF4J 实现。有关所需的 JAR 文件的确切列表,请参见Dependency Tree。
请勿与log4j-slf4j-impl模块一起使用.
log4j-flume-ng
Flume Appender要求Apache Flume和Apache Avro。持久代理使用 Berkeley DB。有关所需的 JAR 文件的确切列表,请参见Dependency Tree。
log4j-spring-cloud-config-client
Log4j Spring Cloud ConfigClient 端要求Spring Cloud Config。如果需要通知日志记录配置更改,则需要Spring Cloud 巴士。 Spring Boot是必需的,但应用程序不必打包为 Spring Boot 应用程序。 Dependency Tree以获得所需的 JAR 文件的确切列表。
log4j-taglib
Log4j 日志标签库需要雅加达公共日志标签库和 Servlet API。有关所需的 JAR 文件的确切列表,请参见Dependency Tree。
log4j-jmx-gui
作为 JConsole 插件运行时,Log4j JMX GUI需要 JConsole jar。否则,它没有外部依赖性。有关所需的 JAR 文件的确切列表,请参见Dependency Tree。
log4j-web
Log4j Web模块需要 Servlet API。有关所需的 JAR 文件的确切列表,请参见Dependency Tree。请注意,这可与 Servlet 2.5 API 和 Servlet 3.x API 一起使用。
log4j-couchdb
Log4J CouchDB模块取决于LightCouch CouchDBClient 端库。
log4j-mongodb
Log4J MongoDB模块取决于MongoDB JavaClient 端驱动程序。
log4j-cassandra
Log4J Cassandra模块取决于Datastax Cassandra 驱动程序。
log4j-iostreams
Log4j IO Streams模块没有外部依赖性。这仅需要 Log4j API。
log4j-api-scala
Log4j Scala API除了 Log4j API 外,还需要 Scala 运行时库和反射。