blob: 7433807bc35d1553119802b2dfc566a89200ffef [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.11.1 from target/generated-sources/site/xdoc/runtime-dependencies.xml at 2024-03-06
| Rendered using Apache Maven Fluido Skin 1.11.2
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" />
<title>Log4j &#x2013; Log4j Runtime Dependencies</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.11.2.min.css" />
<link rel="stylesheet" href="./css/site.css" />
<link rel="stylesheet" href="./css/print.css" media="print" />
<script src="./js/apache-maven-fluido-1.11.2.min.js"></script>
</head>
<body class="topBarDisabled">
<div class="container-fluid">
<header>
<div id="banner">
<div class="pull-left"><a href="../.." id="bannerLeft"><img src="images/ls-logo.jpg" alt="" style="" /></a></div>
<div class="pull-right"><a href="./" id="bannerRight"><img src="images/logo.png" alt="" style="" /></a></div>
<div class="clear"><hr/></div>
</div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li id="publishDate">Last Published: 2024-03-06<span class="divider">|</span>
</li>
<li id="projectVersion">Version: 2.23.1</li>
<li class="pull-right"><span class="divider">|</span>
<a href="https://github.com/apache/logging-log4j2" class="externalLink" title="GitHub">GitHub</a></li>
<li class="pull-right"><span class="divider">|</span>
<a href="../../" title="Logging Services">Logging Services</a></li>
<li class="pull-right"><span class="divider">|</span>
<a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a></li>
<li class="pull-right"><a href="https://cwiki.apache.org/confluence/display/LOGGING/Log4j" class="externalLink" title="Logging Wiki">Logging Wiki</a></li>
</ul>
</div>
</header>
<div class="row-fluid">
<header id="leftColumn" class="span2">
<nav class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header"><img class="imageLink" src="img/glyphicons/home.png" alt="Apache Log4j™ 2" style="border: 0;" /> Apache Log4j™ 2</li>
<li><a href="index.html" title="About"><span class="none"></span>About</a></li>
<li><a href="download.html" title="Download"><span class="none"></span>Download</a></li>
<li><a href="support.html" title="Support"><span class="none"></span>Support</a></li>
<li><a href="maven-artifacts.html" title="Maven, Ivy, Gradle Artifacts"><span class="icon-chevron-right"></span>Maven, Ivy, Gradle Artifacts</a></li>
<li><a href="release-notes.html" title="Release Notes"><span class="none"></span>Release Notes</a></li>
<li><a href="faq.html" title="FAQ"><span class="none"></span>FAQ</a></li>
<li><a href="performance.html" title="Performance"><span class="icon-chevron-right"></span>Performance</a></li>
<li><a href="articles.html" title="Articles and Tutorials"><span class="none"></span>Articles and Tutorials</a></li>
<li><a href="security.html" title="Security"><span class="icon-chevron-right"></span>Security</a></li>
<li class="nav-header"><img class="imageLink" src="img/glyphicons/book.png" alt="Manual" style="border: 0;" /> Manual</li>
<li><a href="manual/index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
<li><a href="manual/architecture.html" title="Architecture"><span class="none"></span>Architecture</a></li>
<li><a href="manual/api-separation.html" title="API Separation"><span class="none"></span>API Separation</a></li>
<li><a href="manual/migration.html" title="Log4j 1.x Migration"><span class="icon-chevron-right"></span>Log4j 1.x Migration</a></li>
<li><a href="manual/api.html" title="Java API"><span class="icon-chevron-right"></span>Java API</a></li>
<li><a href="../kotlin" title="Kotlin API"><span class="none"></span>Kotlin API</a></li>
<li><a href="../scala" title="Scala API"><span class="none"></span>Scala API</a></li>
<li><a href="manual/configuration.html" title="Configuration"><span class="icon-chevron-right"></span>Configuration</a></li>
<li><a href="manual/usage.html" title="Usage"><span class="icon-chevron-right"></span>Usage</a></li>
<li><a href="manual/webapp.html" title="Web Applications and JSPs"><span class="icon-chevron-right"></span>Web Applications and JSPs</a></li>
<li><a href="manual/lookups.html" title="Lookups"><span class="icon-chevron-right"></span>Lookups</a></li>
<li><a href="manual/appenders.html" title="Appenders"><span class="icon-chevron-right"></span>Appenders</a></li>
<li><a href="manual/layouts.html" title="Layouts"><span class="icon-chevron-right"></span>Layouts</a></li>
<li><a href="manual/filters.html" title="Filters"><span class="icon-chevron-right"></span>Filters</a></li>
<li><a href="manual/async.html" title="Async Loggers"><span class="icon-chevron-right"></span>Async Loggers</a></li>
<li><a href="manual/garbagefree.html" title="Garbage-free Logging"><span class="icon-chevron-right"></span>Garbage-free Logging</a></li>
<li><a href="manual/jmx.html" title="JMX"><span class="none"></span>JMX</a></li>
<li><a href="manual/logsep.html" title="Logging Separation"><span class="none"></span>Logging Separation</a></li>
<li><a href="manual/extending.html" title="Extending Log4j"><span class="icon-chevron-right"></span>Extending Log4j</a></li>
<li><a href="manual/plugins.html" title="Plugins"><span class="icon-chevron-right"></span>Plugins</a></li>
<li><a href="manual/customconfig.html" title="Programmatic Log4j Configuration"><span class="icon-chevron-right"></span>Programmatic Log4j Configuration</a></li>
<li><a href="manual/customloglevels.html" title="Custom Log Levels"><span class="icon-chevron-right"></span>Custom Log Levels</a></li>
<li class="nav-header"><img class="imageLink" src="img/glyphicons/pencil.png" alt="For Contributors" style="border: 0;" /> For Contributors</li>
<li><a href="guidelines.html" title="Guidelines"><span class="none"></span>Guidelines</a></li>
<li><a href="javastyle.html" title="Style Guide"><span class="none"></span>Style Guide</a></li>
<li class="nav-header"><img class="imageLink" src="img/glyphicons/cog.png" alt="Components" style="border: 0;" /> Components</li>
<li><a href="log4j-api.html" title="API"><span class="none"></span>API</a></li>
<li><a href="log4j-jcl.html" title="Commons Logging Bridge"><span class="none"></span>Commons Logging Bridge</a></li>
<li><a href="log4j-1.2-api.html" title="Log4j 1.2 API"><span class="none"></span>Log4j 1.2 API</a></li>
<li><a href="log4j-slf4j-impl.html" title="SLF4J Binding"><span class="none"></span>SLF4J Binding</a></li>
<li><a href="log4j-jul.html" title="JUL Adapter"><span class="none"></span>JUL Adapter</a></li>
<li><a href="log4j-jpl.html" title="JDK Platform Logger"><span class="none"></span>JDK Platform Logger</a></li>
<li><a href="log4j-to-slf4j.html" title="Log4j 2 to SLF4J Adapter"><span class="none"></span>Log4j 2 to SLF4J Adapter</a></li>
<li><a href="log4j-flume-ng.html" title="Apache Flume Appender"><span class="none"></span>Apache Flume Appender</a></li>
<li><a href="log4j-taglib.html" title="Log4j Tag Library"><span class="none"></span>Log4j Tag Library</a></li>
<li><a href="log4j-jmx-gui.html" title="Log4j JMX GUI"><span class="none"></span>Log4j JMX GUI</a></li>
<li><a href="log4j-web.html" title="Log4j Web Application Support"><span class="none"></span>Log4j Web Application Support</a></li>
<li><a href="log4j-jakarta-web.html" title="Log4j Jakarta Web Application Support"><span class="none"></span>Log4j Jakarta Web Application Support</a></li>
<li><a href="log4j-appserver.html" title="Log4j Application Server Integration"><span class="none"></span>Log4j Application Server Integration</a></li>
<li><a href="log4j-couchdb.html" title="Log4j CouchDB appender"><span class="none"></span>Log4j CouchDB appender</a></li>
<li><a href="log4j-mongodb3.html" title="Log4j MongoDB3 appender"><span class="none"></span>Log4j MongoDB3 appender</a></li>
<li><a href="log4j-mongodb4.html" title="Log4j MongoDB4 appender"><span class="none"></span>Log4j MongoDB4 appender</a></li>
<li><a href="log4j-cassandra.html" title="Log4j Cassandra appender"><span class="none"></span>Log4j Cassandra appender</a></li>
<li><a href="log4j-iostreams.html" title="Log4j IO Streams"><span class="none"></span>Log4j IO Streams</a></li>
<li><a href="log4j-docker.html" title="Log4j Docker Support"><span class="none"></span>Log4j Docker Support</a></li>
<li><a href="log4j-kubernetes.html" title="Log4j Kubernetes Support"><span class="none"></span>Log4j Kubernetes Support</a></li>
<li><a href="log4j-spring-boot.html" title="Log4j Spring Boot"><span class="none"></span>Log4j Spring Boot</a></li>
<li><a href="log4j-spring-cloud-config-client.html" title="Log4j Spring Cloud Config Client"><span class="none"></span>Log4j Spring Cloud Config Client</a></li>
<li class="nav-header"><img class="imageLink" src="img/glyphicons/tag.png" alt="Related Projects" style="border: 0;" /> Related Projects</li>
<li><a href="../../chainsaw/2.x/index.html" title="Chainsaw"><span class="none"></span>Chainsaw</a></li>
<li><a href="../../log4cxx/latest_stable/index.html" title="Log4Cxx"><span class="none"></span>Log4Cxx</a></li>
<li><a href="../../log4j-audit/latest/index.html" title="Log4j Audit"><span class="none"></span>Log4j Audit</a></li>
<li><a href="../kotlin" title="Log4j Kotlin"><span class="none"></span>Log4j Kotlin</a></li>
<li><a href="../scala" title="Log4j Scala"><span class="none"></span>Log4j Scala</a></li>
<li><a href="../transform" title="Log4j Transform"><span class="none"></span>Log4j Transform</a></li>
<li><a href="../../log4net/index.html" title="Log4Net"><span class="none"></span>Log4Net</a></li>
<li class="nav-header"><img class="imageLink" src="img/glyphicons/link.png" alt="Legacy Sites" style="border: 0;" /> Legacy Sites</li>
<li><a href="../log4j-2.12.4/" title="Log4j 2.12.4 - Java 7"><span class="none"></span>Log4j 2.12.4 - Java 7</a></li>
<li><a href="../log4j-2.3.2/" title="Log4j 2.3.2 - Java 6"><span class="none"></span>Log4j 2.3.2 - Java 6</a></li>
<li><a href="../1.2/" title="Log4j 1.2 - End of Life"><span class="none"></span>Log4j 1.2 - End of Life</a></li>
<li class="nav-header"><img class="imageLink" src="img/glyphicons/info.png" alt="Project Information" style="border: 0;" /> Project Information</li>
<li><a href="team.html" title="Project Team"><span class="none"></span>Project Team</a></li>
<li><a href="https://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="Project License"><span class="none"></span>Project License</a></li>
<li><a href="https://github.com/apache/logging-log4j2" class="externalLink" title="Source Repository"><span class="none"></span>Source Repository</a></li>
<li class="active"><a><span class="none"></span>Runtime Dependencies</a></li>
<li><a href="javadoc.html" title="Javadoc"><span class="none"></span>Javadoc</a></li>
<li><a href="thanks.html" title="Thanks"><span class="none"></span>Thanks</a></li>
</ul>
</nav>
<div class="well sidebar-nav">
<div id="poweredBy">
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
</div>
</div>
</header>
<main id="bodyColumn" class="span10" >
<section>
<h2><a name="Log4j_Runtime_Dependencies"></a>Log4j Runtime Dependencies</h2>
<p>
Some Log4J features depend on external libraries. This page lists the required and optional
dependencies.
</p>
<p>
As of version 2.10.0 the Log4j API is a named Java module (with a module-info.java).
Since version 2.21.0 all the remaining artifacts are named modules.
The characteristics of the modules are:
</p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Artifact Name</th>
<th>Module Name</th>
<th>Module Characteristics</th>
</tr>
<tr class="b">
<td align="left">log4j-api</td>
<td>org.apache.logging.log4j</td>
<td>
<table border="0" class="table table-striped">
<tr class="a">
<th>Module Directive</th>
<th>Notes</th>
</tr>
<tr class="b">
<td align="left">exports org.apache.logging.log4j</td>
<td></td>
</tr>
<tr class="a">
<td align="left">exports org.apache.logging.log4j.message</td>
<td></td>
</tr>
<tr class="b">
<td align="left">exports org.apache.logging.log4j.simple</td>
<td></td>
</tr>
<tr class="a">
<td align="left">exports org.apache.logging.log4j.spi</td>
<td></td>
</tr>
<tr class="b">
<td align="left">exports org.apache.logging.log4j.spi</td>
<td></td>
</tr>
<tr class="a">
<td align="left">exports org.apache.logging.log4j.util</td>
<td>Some classes in this package are used by the logging implementation and should be
considered private. The module info definition may be modified in the future to export
these only to the logging implementation.</td>
</tr>
<tr class="b">
<td align="left">uses org.apache.logging.log4j.spi.Provider</td>
<td>Service that must be provided by the logging implementation.</td>
</tr>
</table>
</td>
</tr>
<tr class="a">
<td align="left">log4j-appserver</td>
<td>org.apache.logging.log4j.appserver</td>
<td>Named Module</td>
</tr>
<tr class="b">
<td align="left">log4j-cassandra</td>
<td>org.apache.logging.log4j.cassandra</td>
<td>Named Module</td>
</tr>
<tr class="a">
<td align="left">log4j-core</td>
<td>org.apache.logging.log4j.core</td>
<td>Named Module. Most of its dependencies are optional.</td>
</tr>
<tr class="b">
<td align="left">log4j-couchdb</td>
<td>org.apache.logging.log4j.couchdb</td>
<td>Named Module</td>
</tr>
<tr class="a">
<td align="left">log4j-docker</td>
<td>org.apache.logging.log4j.docker</td>
<td>Named Module</td>
</tr>
<tr class="b">
<td align="left">log4j-1.2-api</td>
<td>org.apache.log4j</td>
<td>Named Module</td>
</tr>
<tr class="a">
<td align="left">log4j-flume-ng</td>
<td>org.apache.logging.log4j.flume</td>
<td>Named Module</td>
</tr>
<tr class="b">
<td align="left">log4j-iostreams</td>
<td>org.apache.logging.log4j.iostreams</td>
<td>Named Module</td>
</tr>
<tr class="a">
<td align="left">log4j-jakarta-smtp</td>
<td>org.apache.logging.log4j.smtp</td>
<td>Named Module</td>
</tr>
<tr class="b">
<td align="left">log4j-jakarta-web</td>
<td>org.apache.logging.log4j.web</td>
<td>Named Module. Uses the same name as <code>log4j-web</code> since it is its Jakarta EE 9 equivalent.</td>
</tr>
<tr class="a">
<td align="left">log4j-jcl</td>
<td>org.apache.logging.log4j.jcl</td>
<td>Named Module</td>
</tr>
<tr class="b">
<td align="left">log4j-jul</td>
<td>org.apache.logging.log4j.jul</td>
<td>Named Module</td>
</tr>
<tr class="a">
<td align="left">log4j-mongodb</td>
<td>org.apache.logging.log4j.mongodb</td>
<td>Named Module</td>
</tr>
<tr class="b">
<td align="left">log4j-slf4j-impl</td>
<td>org.apache.logging.log4j.slf4j.impl</td>
<td>Named Module</td>
</tr>
<tr class="a">
<td align="left">log4j-slf4j2-impl</td>
<td>org.apache.logging.log4j.slf4j2.impl</td>
<td>Named Module</td>
</tr>
<tr class="b">
<td align="left">log4j-taglib</td>
<td>org.apache.logging.log4j.taglib</td>
<td>Named Module</td>
</tr>
<tr class="a">
<td align="left">log4j-to-slf4j</td>
<td>org.apache.logging.log4j.to.slf4j</td>
<td>Named Module</td>
</tr>
<tr class="b">
<td align="left">log4j-web</td>
<td>org.apache.logging.log4j.web</td>
<td>Named Module. Uses the same name as <code>log4j-jakarta-web</code> since it is its Java EE 8 equivalent.</td>
</tr>
</table>
<p>
As of version 2.9.1 Log4j supports Java 9 but will still work in Java 7 or 8. In this version log4j-api is
packaged as a multi-release jar and supports the use of the StackWalker and Process APIs.
</p>
<p>
As of version 2.4, Log4J requires Java 7.
</p>
<p>
Log4j version 2.3 and older require Java 6.
</p>
<a name="log4j-api"></a>
<section><section>
<h4><a name="log4j-api"></a>log4j-api</h4>
<p>
The Log4J <a href="log4j-api/index.html">API</a> module has no external dependencies.
</p>
<a name="log4j-core"></a>
</section><section>
<h4><a name="log4j-core"></a>log4j-core</h4>
<p>
The Log4J <a href="log4j-core/index.html">Implementation</a> has several optional
<a href="log4j-core/dependencies.html">dependencies</a>.
See the <a href="log4j-core/dependencies.html#Dependency_Tree">Dependency Tree</a> for the
exact list of JAR files needed for these features.
</p>
<table border="0" class="table table-striped"><caption align="top">Optional Dependencies per Feature in Log4J Implementation</caption>
<tr class="a">
<th>Feature</th>
<th>Requirements</th>
</tr>
<tr class="b">
<td align="left">XML configuration</td>
<td>-</td>
</tr>
<tr class="a">
<td align="left">Properties configuration</td>
<td>-</td>
</tr>
<tr class="b">
<td align="left">JSON configuration</td>
<td><a class="externalLink" href="https://github.com/FasterXML/jackson">Jackson core and databind</a></td>
</tr>
<tr class="a">
<td align="left">YAML configuration</td>
<td><a class="externalLink" href="https://github.com/FasterXML/jackson">Jackson databind</a> and <a class="externalLink" href="https://github.com/FasterXML/jackson-dataformat-yaml">YAML data format</a></td>
</tr>
<tr class="b">
<td align="left">CSV Layout</td>
<td><a class="externalLink" href="https://commons.apache.org/proper/commons-csv/">Apache Commons CSV</a></td>
</tr>
<tr class="a">
<td align="left">JSON Layout</td>
<td><a class="externalLink" href="https://github.com/FasterXML/jackson">Jackson core and databind</a></td>
</tr>
<tr class="b">
<td align="left">XML Layout</td>
<td><a class="externalLink" href="https://github.com/FasterXML/jackson">Jackson core, databind and dataformat XML</a><br />
And <code>com.fasterxml.woodstox:woodstox-core:5.0.2</code></td>
</tr>
<tr class="a">
<td align="left">YAML Layout</td>
<td><a class="externalLink" href="https://github.com/FasterXML/jackson">Jackson core, databind</a> and <a class="externalLink" href="https://github.com/FasterXML/jackson-dataformat-yaml">YAML data format</a></td>
</tr>
<tr class="b">
<td align="left">Async Loggers</td>
<td><a class="externalLink" href="https://lmax-exchange.github.io/disruptor/">LMAX Disruptor</a></td>
</tr>
<tr class="a">
<td align="left">Kafka Appender</td>
<td><a class="externalLink" href="https://kafka.apache.org/">Kafka client library</a>. Note that you need to use a version of
the Kafka client library matching the Kafka server used.</td>
</tr>
<tr class="b">
<td align="left">SMTP Appender</td>
<td>an implementation of <code>javax.mail</code></td>
</tr>
<tr class="a">
<td align="left">JMS Appender</td>
<td>a JMS broker like <a class="externalLink" href="https://activemq.apache.org/">Apache ActiveMQ</a></td>
</tr>
<tr class="b">
<td align="left">Windows console color support</td>
<td><a class="externalLink" href="https://fusesource.github.io/jansi/">Jansi</a></td>
</tr>
<tr class="a">
<td align="left">JDBC Appender</td>
<td>a JDBC driver for the database you choose to write events to</td>
</tr>
<tr class="b">
<td align="left">JPA Appender</td>
<td>the Java Persistence API classes, a JPA provider implementation, and a decorated
entity that the user implements. It also requires an appropriate JDBC driver
</td>
</tr>
<tr class="a">
<td align="left">NoSQL Appender with MongoDB provider</td>
<td>MongoDB Java Client driver and Log4j MongoDB library</td>
</tr>
<tr class="b">
<td align="left">NoSQL Appender with Apache CouchDB provider</td>
<td>LightCouch CouchDB client library and Log4j CouchDB library</td>
</tr>
<tr class="a">
<td align="left">Cassandra Appender</td>
<td>Datastax Cassandra driver and Log4j Cassandra library</td>
</tr>
<tr class="b">
<td align="left">Bzip2, Deflate, Pack200, and XZ compression on rollover</td>
<td><a class="externalLink" href="https://commons.apache.org/proper/commons-compress/">Apache Commons Compress</a>.
In addition:
<ul>
<li>XZ requires <a class="externalLink" href="https://tukaani.org/xz/java.html">xz-java</a></li>
<li>ZStandard requires <a class="externalLink" href="https://github.com/luben/zstd-jni">zstd-jni</a></li>
</ul>
</td>
</tr>
<tr class="a">
<td align="left">ZeroMQ Appender</td>
<td>
The ZeroMQ appender uses the <a class="externalLink" href="https://github.com/zeromq/jeromq">JeroMQ</a> library which is
licensed under the terms of the Mozilla Public License Version 2.0 (MPLv2). For details see the
file <a class="externalLink" href="https://github.com/zeromq/jeromq/blob/master/LICENSE">LICENSE</a> included with the JeroMQ
distribution.
</td>
</tr>
</table>
<a name="log4j-docker"></a>
</section><section>
<h4><a name="log4j-docker"></a>log4j-docker</h4>
<p>
<a href="log4j-docker/index.html">Log4j Docker Support</a> requires
<a class="externalLink" href="https://github.com/FasterXML/jackson">Jackson annotations, core, and databind</a>. See the
<a href="log4j-docker/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of
JAR files needed.
</p>
<a name="log4j-jcl"></a>
</section><section>
<h4><a name="log4j-jcl"></a>log4j-jcl</h4>
<p>
The <a href="log4j-jcl/index.html">Commons Logging Bridge</a> requires
<a class="externalLink" href="https://commons.apache.org/proper/commons-logging/">Commons Logging</a>. See the
<a href="log4j-jcl/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact
list of JAR files needed.
</p>
<a name="log4j-1.2-api"></a>
</section><section>
<h4><a name="log4j-1.2-api"></a>log4j-1.2-api</h4>
<p>
The <a href="log4j-1.2-api/index.html">Log4j 1.2 Bridge</a> has no external dependencies.
This only requires the Log4j API. Including Log4j Core provides optional, extra functionality.
</p>
<a name="log4j-slf4j-impl"></a>
</section><section>
<h4><a name="log4j-slf4j-impl"></a>log4j-slf4j-impl</h4>
<p>
The Log4j 2 <a href="log4j-slf4j-impl/index.html">SLF4J Binding</a> depends on the
<a class="externalLink" href="https://www.slf4j.org/">SLF4J</a> API. See the
<a href="log4j-slf4j-impl/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact
list of JAR files needed.
</p>
<p class="text-warning">
<i></i>
<b><font color="red">
Do not use this with the <a href="#log4j-to-slf4j">log4j-to-slf4j</a> module.
</font></b>
</p>
<a name="log4j-jul"></a>
</section><section>
<h4><a name="log4j-jul"></a>log4j-jul</h4>
<p>
The Log4j 2 <a href="log4j-jul/index.html">Java Util Logging Adapter</a> has no external dependencies.
It optionally depends on the <a href="log4j-api/index.html">Log4j Core</a> library. The only required module
is the Log4j API.
</p>
<a name="log4j-to-slf4j"></a>
</section><section>
<h4><a name="log4j-to-slf4j"></a>log4j-to-slf4j</h4>
<p>
The <a href="log4j-to-slf4j/index.html">Log4j 2 to SLF4J Adapter</a> requires the
<a class="externalLink" href="https://www.slf4j.org/">SLF4J</a> API and an SLF4J implementation. See the
<a href="log4j-to-slf4j/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of JAR files needed.
</p>
<p class="text-warning">
<i></i>
<b><font color="red">
Do not use this with the <a href="#log4j-slf4j-impl">log4j-slf4j-impl</a> module.
</font></b>
</p>
<a name="log4j-flume-ng"></a>
</section><section>
<h4><a name="log4j-flume-ng"></a>log4j-flume-ng</h4>
<p>
The <a href="log4j-flume-ng/index.html">Flume Appender</a> requires
<a class="externalLink" href="https://flume.apache.org/">Apache Flume</a> and <a class="externalLink" href="https://avro.apache.org/">Apache Avro</a>.
The persistent agent uses Berkeley DB. See the
<a href="log4j-flume-ng/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of JAR files needed.
</p>
<a name="log4j-spring-cloud-config-client"></a>
</section><section>
<h4><a name="log4j-spring-cloud-config-client"></a>log4j-spring-cloud-config-client</h4>
<p>
<a href="log4j-spring-cloud-config/log4j-spring-cloud-config-client/index.html">Log4j Spring Cloud Config Client</a> requires
<a class="externalLink" href="https://spring.io/projects/spring-cloud-config">Spring Cloud Config</a>.
<a class="externalLink" href="https://spring.io/projects/spring-cloud-bus">Spring Cloud Bus</a> is required if notification of logging
configuration changes is desired. <a class="externalLink" href="https://spring.io/projects/spring-boot">Spring Boot</a> is required
but applications do not have to be packaged as a Spring Boot application.
<a href="log4j-spring-cloud-config/log4j-spring-cloud-config-client/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of
JAR files needed.
</p>
<a name="log4j-taglib"></a>
</section><section>
<h4><a name="log4j-taglib"></a>log4j-taglib</h4>
<p>
The Log4j <a href="log4j-taglib/index.html">Log Tag Library</a> requires the
<a class="externalLink" href="https://jakarta.apache.org/taglibs/log/">Jakarta Commons Log Taglib</a> and the Servlet API. See the
<a href="log4j-taglib/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of JAR files needed.
</p>
<a name="log4j-web"></a>
</section><section>
<h4><a name="log4j-web"></a>log4j-web</h4>
<p>
The Log4j <a href="log4j-web/index.html">Web</a> module requires the Servlet API. See the
<a href="log4j-web/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of JAR files needed.
Note that this works with the Servlet 2.5 API as well as the Servlet 3.x API.
</p>
<a name="log4j-couchdb"></a>
</section><section>
<h4><a name="log4j-couchdb"></a>log4j-couchdb</h4>
<p>
The Log4J <a href="log4j-couchdb/index.html">CouchDB</a> module depends on
the <a class="externalLink" href="https://www.lightcouch.org/">LightCouch</a> CouchDB client library.
</p>
<a name="log4j-mongodb"></a>
</section><section>
<h4><a name="log4j-mongodb"></a>log4j-mongodb</h4>
<p>
The Log4J <a href="log4j-mongodb/index.html">MongoDB</a> module depends on
the <a class="externalLink" href="https://docs.mongodb.org/ecosystem/drivers/java/">MongoDB Java Client driver</a>.
</p>
<a name="log4j-cassandra"></a>
</section><section>
<h4><a name="log4j-cassandra"></a>log4j-cassandra</h4>
<p>
The Log4J <a href="log4j-cassandra/index.html">Cassandra</a> module depends on
the <a class="externalLink" href="https://docs.datastax.com/en/developer/driver-matrix/doc/javaDrivers.html">Datastax Cassandra driver</a>.
</p>
<a name="log4j-iostreams"></a>
</section><section>
<h4><a name="log4j-iostreams"></a>log4j-iostreams</h4>
<p>
The Log4j <a href="log4j-iostreams/index.html">IO Streams</a> module has no external dependencies.
This only requires the Log4j API.
</p>
<a name="log4j-jakarta-smtp"></a>
</section><section>
<h4><a name="log4j-jakarta-smtp"></a>log4j-jakarta-smtp</h4>
<p>
The Log4j Simple Mail Transfer Protocol (SMTP) Appender, version for Jakarta EE 9 module has 2 external runtime dependencies for the jakarta.activation-api and jakarta.mail-api.
1. org.eclipse.angus:angus-activation
2. org.eclipse.angus:jakarta.mail
</p>
<a name="log4j-jakarta-web"></a>
</section><section>
<h4><a name="log4j-jakarta-web"></a>log4j-jakarta-web</h4>
<p>
The Log4j <a href="log4j-jakarta-web.html">Jakarta-Web</a> module for Jakarta EE 9+ web servlet containers
requires the Servlet API and <code>log4j-core</code>.
</p>
</section></section></section>
</main>
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
<div class="row-fluid">
<p align="center">Copyright &copy; 1999-2024 <a class="external" href="https://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.<br>
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>
</div>
</div>
</footer>
<script>
if(anchors) {
anchors.add();
}
</script>
</body>
</html>