blob: 6bcecfdba93664af43a04f72411e28904e775f4f [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Generated by Apache Maven Doxia at 2017-01-21 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Log4j &#x2013; Log4j Runtime Dependencies - Apache Log4j 2</title>
<link rel="stylesheet" href="./css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="./css/site.css" type="text/css" />
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
<script type="text/javascript" src="./js/prettify.min.js"></script>
<script type="text/javascript" src="./js/site.js"></script>
<meta name="Date-Revision-yyyymmdd" content="20170121" />
<meta http-equiv="Content-Language" content="en" />
</head>
<body class="composite">
<a href="https://logging.apache.org/">
<img class="logo-left" src="./images/ls-logo.jpg" alt="Apache logging services logo" />
</a>
<img class="logo-right" src="./images/logo.png" alt="Apache log4j logo" />
<div class="clear"></div>
<div class="navbar">
<div class="navbar-inner">
<div class="container-fluid">
<a class="brand" href="https://logging.apache.org/log4j/2.x/">Apache Log4j 2 &trade;</a>
<ul class="nav">
<li>
<a href="http://wiki.apache.org/logging" class="external" target="_blank" title="Logging Wiki">Logging Wiki</a>
</li>
<li>
<a href="http://www.apache.org/" class="external" target="_blank" title="Apache">Apache</a>
</li>
<li>
<a href="http://logging.apache.org/" class="external" target="_blank" title="Logging Services">Logging Services</a>
</li>
<li>
<a href="https://analysis.apache.org/dashboard/index/org.apache.logging.log4j:log4j" class="external" target="_blank" title="Sonar">Sonar</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container-fluid">
<table class="layout-table">
<tr>
<td class="sidebar">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-home"></i>Apache Log4j™ 2</li>
<li class="none">
<a href="index.html" title="About">About</a>
</li>
<li class="none">
<a href="download.html" title="Download">Download</a>
</li>
<li class="collapsed">
<a href="javadoc.html" title="Javadoc">Javadoc</a>
</li>
<li class="none">
<a href="maven-artifacts.html" title="Maven, Ivy, Gradle Artifacts">Maven, Ivy, Gradle Artifacts</a>
</li>
<li class="none active">
<a href="runtime-dependencies.html" title="Runtime Dependencies">Runtime Dependencies</a>
</li>
<li class="none">
<a href="changelog.html" title="Changelog">Changelog</a>
</li>
<li class="none">
<a href="faq.html" title="FAQ">FAQ</a>
</li>
<li class="collapsed">
<a href="performance.html" title="Performance">Performance</a>
</li>
<li class="none">
<a href="articles.html" title="Articles and Tutorials">Articles and Tutorials</a>
</li>
<li class="none">
<a href="thanks.html" title="Thanks">Thanks</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-pencil"></i>For Contributors</li>
<li class="none">
<a href="build.html" title="Building Log4j from Source">Building Log4j from Source</a>
</li>
<li class="none">
<a href="guidelines.html" title="Guidelines">Guidelines</a>
</li>
<li class="none">
<a href="javastyle.html" title="Style Guide">Style Guide</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-book"></i>Manual</li>
<li class="none">
<a href="manual/index.html" title="Introduction">Introduction</a>
</li>
<li class="none">
<a href="manual/architecture.html" title="Architecture">Architecture</a>
</li>
<li class="none">
<a href="manual/migration.html" title="Log4j 1.x Migration">Log4j 1.x Migration</a>
</li>
<li class="collapsed">
<a href="manual/api.html" title="API">API</a>
</li>
<li class="collapsed">
<a href="manual/configuration.html" title="Configuration">Configuration</a>
</li>
<li class="collapsed">
<a href="manual/webapp.html" title="Web Applications and JSPs">Web Applications and JSPs</a>
</li>
<li class="collapsed">
<a href="manual/lookups.html" title="Lookups">Lookups</a>
</li>
<li class="collapsed">
<a href="manual/appenders.html" title="Appenders">Appenders</a>
</li>
<li class="collapsed">
<a href="manual/layouts.html" title="Layouts">Layouts</a>
</li>
<li class="collapsed">
<a href="manual/filters.html" title="Filters">Filters</a>
</li>
<li class="collapsed">
<a href="manual/async.html" title="Async Loggers">Async Loggers</a>
</li>
<li class="collapsed">
<a href="manual/garbagefree.html" title="Garbage-free Logging">Garbage-free Logging</a>
</li>
<li class="none">
<a href="manual/jmx.html" title="JMX">JMX</a>
</li>
<li class="none">
<a href="manual/logsep.html" title="Logging Separation">Logging Separation</a>
</li>
<li class="collapsed">
<a href="manual/extending.html" title="Extending Log4j">Extending Log4j</a>
</li>
<li class="collapsed">
<a href="manual/plugins.html" title="Plugins">Plugins</a>
</li>
<li class="collapsed">
<a href="manual/customconfig.html" title="Programmatic Log4j Configuration">Programmatic Log4j Configuration</a>
</li>
<li class="collapsed">
<a href="manual/customloglevels.html" title="Custom Log Levels">Custom Log Levels</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-tags"></i>Legacy</li>
<li class="none">
<a href="http://logging.apache.org/log4j/1.2/" class="external" target="_blank" title="Log4j 1.2">Log4j 1.2</a>
</li>
<li class="none">
<a href="http://logging.apache.org/log4j/log4j-2.3/" class="external" target="_blank" title="Log4j 2.3">Log4j 2.3</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-cog"></i>Components</li>
<li class="none">
<a href="log4j-api/index.html" title="API">API</a>
</li>
<li class="none">
<a href="log4j-core/index.html" title="Implementation">Implementation</a>
</li>
<li class="none">
<a href="log4j-jcl/index.html" title="Commons Logging Bridge">Commons Logging Bridge</a>
</li>
<li class="none">
<a href="log4j-1.2-api/index.html" title="Log4j 1.2 API">Log4j 1.2 API</a>
</li>
<li class="none">
<a href="log4j-slf4j-impl/index.html" title="SLF4J Binding">SLF4J Binding</a>
</li>
<li class="none">
<a href="log4j-jul/index.html" title="JUL Adapter">JUL Adapter</a>
</li>
<li class="none">
<a href="log4j-api-scala_2.10/index.html" title="Scala 2.10 API">Scala 2.10 API</a>
</li>
<li class="none">
<a href="log4j-api-scala_2.11/index.html" title="Scala 2.11 API">Scala 2.11 API</a>
</li>
<li class="none">
<a href="log4j-to-slf4j/index.html" title="Log4j 2 to SLF4J Adapter">Log4j 2 to SLF4J Adapter</a>
</li>
<li class="none">
<a href="log4j-flume-ng/index.html" title="Apache Flume Appender">Apache Flume Appender</a>
</li>
<li class="none">
<a href="log4j-taglib/index.html" title="Log4j Tag Library">Log4j Tag Library</a>
</li>
<li class="none">
<a href="log4j-jmx-gui/index.html" title="Log4j JMX GUI">Log4j JMX GUI</a>
</li>
<li class="none">
<a href="log4j-web/index.html" title="Log4j Web Application Support">Log4j Web Application Support</a>
</li>
<li class="none">
<a href="log4j-nosql/index.html" title="Log4j NoSQL support">Log4j NoSQL support</a>
</li>
<li class="none">
<a href="log4j-iostreams/index.html" title="Log4j IO Streams">Log4j IO Streams</a>
</li>
<li class="none">
<a href="log4j-liquibase/index.html" title="Log4j Liquibase Binding">Log4j Liquibase Binding</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-info-sign"></i>Project Information</li>
<li class="none">
<a href="dependencies.html" title="Dependencies">Dependencies</a>
</li>
<li class="none">
<a href="dependency-convergence.html" title="Dependency Convergence">Dependency Convergence</a>
</li>
<li class="none">
<a href="dependency-management.html" title="Dependency Management">Dependency Management</a>
</li>
<li class="none">
<a href="team-list.html" title="Project Team">Project Team</a>
</li>
<li class="none">
<a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
</li>
<li class="none">
<a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
</li>
<li class="none">
<a href="license.html" title="Project License">Project License</a>
</li>
<li class="none">
<a href="source-repository.html" title="Source Repository">Source Repository</a>
</li>
<li class="none">
<a href="project-summary.html" title="Project Summary">Project Summary</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-cog"></i>Project Reports</li>
<li class="none">
<a href="changes-report.html" title="Changes Report">Changes Report</a>
</li>
<li class="none">
<a href="jira-report.html" title="JIRA Report">JIRA Report</a>
</li>
<li class="none">
<a href="surefire-report.html" title="Surefire Report">Surefire Report</a>
</li>
<li class="none">
<a href="rat-report.html" title="RAT Report">RAT Report</a>
</li>
</ul>
</div>
<div id="poweredBy">
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="poweredBy" alt="Built by Maven" src="./images/maven-feather.png" />
</a>
</div>
</td>
<td class="content">
<!-- Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. -->
<div class="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.4, Log4J requires Java 7.
</p>
<p>
Log4j version 2.3 and older require Java 6.
</p>
<a name="log4j-api"></a>
<div class="section">
<div class="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>
</div>
<div class="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="bodyTable"><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>XML configuration</td>
<td>-</td>
</tr>
<tr class="a">
<td>Properties configuration</td>
<td>-</td>
</tr>
<tr class="b">
<td>JSON configuration</td>
<td><a class="externalLink" href="https://github.com/FasterXML/jackson">Jackson core and databind</a></td>
</tr>
<tr class="a">
<td>YAML configuration</td>
<td><a class="externalLink" href="https://github.com/FasterXML/jackson-dataformat-yaml">Jackson YAML data format</a></td>
</tr>
<tr class="b">
<td>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>JSON Layout</td>
<td><a class="externalLink" href="https://github.com/FasterXML/jackson">Jackson core and databind</a></td>
</tr>
<tr class="b">
<td>XML Layout</td>
<td><a class="externalLink" href="https://github.com/FasterXML/jackson">Jackson core, databind and dataformat XML</a><br />
And <tt>com.fasterxml.woodstox:woodstox-core:5.0.2</tt></td>
</tr>
<tr class="a">
<td>Async Loggers</td>
<td><a class="externalLink" href="http://lmax-exchange.github.io/disruptor/">LMAX Disruptor</a></td>
</tr>
<tr class="b">
<td>Kafka Appender</td>
<td><a class="externalLink" href="http://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="a">
<td>SMTP Appender</td>
<td>an implementation of <tt>javax.mail</tt></td>
</tr>
<tr class="b">
<td>JMS Appender</td>
<td>a JMS broker like <a class="externalLink" href="http://activemq.apache.org/">Apache ActiveMQ</a></td>
</tr>
<tr class="a">
<td>Windows console color support</td>
<td><a class="externalLink" href="http://jansi.fusesource.org/">Jansi</a></td>
</tr>
<tr class="b">
<td>JDBC Appender</td>
<td>a JDBC driver for the database you choose to write events to</td>
</tr>
<tr class="a">
<td>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="b">
<td>NoSQL Appender with MongoDB provider</td>
<td>MongoDB Java Client driver</td>
</tr>
<tr class="a">
<td>NoSQL Appender with Apache CouchDB provider</td>
<td>LightCouch CouchDB client library</td>
</tr>
<tr class="b">
<td>Cassandra Appender</td>
<td>Datastax Cassandra driver and Log4j NoSQL library</td>
</tr>
<tr class="a">
<td>Bzip2, Deflate, Pack200, and XZ compression on rollover</td>
<td><a class="externalLink" href="http://commons.apache.org/proper/commons-compress/">Apache Commons Compress</a>.
In addition, XZ requires <a class="externalLink" href="http://tukaani.org/xz/java.html">XZ for Java</a>.
</td>
</tr>
<tr class="b">
<td>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 GNU Lesser General Public License (LGPL). For details see the
files <tt>COPYING</tt> and <tt>COPYING.LESSER</tt> included with the JeroMQ distribution.
</td>
</tr>
<tr class="a">
<td>TcpSocketServer and UdpSocketServer</td>
<td>
TcpSocketServer and UdpSocketServer use the <a class="externalLink" href="http://www.jcommander.org/">JCommander</a> library
which is licensed under the terms of the Apache License version 2.0.
</td>
</tr>
</table>
<a name="log4j-jcl"></a>
</div>
<div class="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="http://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>
</div>
<div class="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 and Log4j Core.
</p>
<a name="log4j-slf4j-impl"></a>
</div>
<div class="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="http://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>
</div>
<div class="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>
</div>
<div class="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="http://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>
</div>
<div class="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="http://flume.apache.org/">Apache Flume</a> and <a class="externalLink" href="http://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-taglib"></a>
</div>
<div class="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="http://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-jmx-gui"></a>
</div>
<div class="section">
<h4><a name="log4j-jmx-gui"></a>log4j-jmx-gui</h4>
<p>
The Log4j <a href="log4j-jmx-gui/index.html">JMX GUI</a> requires the JConsole jar when run as a JConsole plugin.
Otherwise it has no external dependencies. See the
<a href="log4j-jmx-gui/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of JAR files needed.
</p>
<a name="log4j-web"></a>
</div>
<div class="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-nosql"></a>
</div>
<div class="section">
<h4><a name="log4j-nosql"></a>log4j-nosql</h4>
<p>
The Log4J <a href="log4j-nosql/index.html">NoSQL Appenders</a> module has several optional
<a href="log4j-nosql/dependencies.html">dependencies</a>.
See the <a href="log4j-nosql/dependencies.html#Dependency_Tree">Dependency Tree</a> for the
exact list of JAR files needed for these features.
</p>
<table border="0" class="bodyTable"><caption align="top">Optional Dependencies per Feature in Log4J NoSQL Appenders</caption>
<tr class="a">
<td>NoSQL Appender with <a class="externalLink" href="http://www.mongodb.org/">MongoDB</a> provider</td>
<td>the <a class="externalLink" href="http://docs.mongodb.org/ecosystem/drivers/java/">MongoDB Java Client driver</a></td>
</tr>
<tr class="b">
<td>NoSQL Appender with <a class="externalLink" href="https://couchdb.apache.org/">Apache CouchDB</a> provider</td>
<td>the <a class="externalLink" href="http://www.lightcouch.org/">LightCouch</a> CouchDB client library</td>
</tr>
</table>
<a name="log4j-iostreams"></a>
</div>
<div class="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-api-scala"></a>
</div>
<div class="section">
<h4><a name="log4j-api-scala"></a>log4j-api-scala</h4>
<p>
The Log4j <a href="log4j-api-scala_2.11/index.html">Scala API</a> requires Scala runtime library and reflection in
addition to the Log4j API.
</p>
</div></div></div>
</td>
</tr>
</table>
</div>
<div class="footer">
<p>Copyright &copy; 1999-2017 <a class="external" href="https://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
<p>Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>
<p>Site powered by <a class="external" href="http://getbootstrap.com/">Twitter Bootstrap</a>. Icons from <a class="external" href="http://glyphicons.com/">Glyphicons Free</a>.</p>
</div>
</div>
</body>
</html>