blob: 2884cdd904b23786f631f0b4bbe9cb43158fa96b [file] [log] [blame]
<?xml version="1.0"?>
<!--
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.
-->
<document>
<properties>
<title>Log4j 2 Implementation</title>
<author email="rgoers@apache.org">Ralph Goers</author>
</properties>
<body>
<section name="Log4j 2 Implementation">
<p>
The Log4j 2 implementation provides the functional components of the logging system.
Users are free to create their own plugins and include them in the logging configuration.
</p>
</section>
<section name="Requirements">
<p>
As of version 2.4, Log4j 2 requires Java 7. Versions 2.3 and earlier require Java 6.
Some features may require optional
<a href="dependencies.html">dependencies</a>. These dependencies are specified in the
documentation for those features.
</p>
<p>
Below is a list of Log4j features that require external dependencies.
See the <a href="dependencies.html#Dependency_Tree">Dependency Tree</a>
for the exact list of JAR files needed for these features.
</p>
<ul>
<li>JSON configuration requires the Jackson Data Processor.</li>
<li>Async Loggers require the LMAX Disruptor.</li>
<li>SMTPAppender requires Javax Mail.</li>
<li>JMSQueueAppender and JMSTopicAppender require a JMS implementation like
<a href="http://activemq.apache.org/">Apache ActiveMQ</a>.</li>
<li>Kafka appender requires <a href="http://search.maven.org/#artifactdetails|org.apache.kafka|kafka-clients|0.8.2.1|jar">Kafka client library</a></li>
<li>Windows color support requires <a href="http://jansi.fusesource.org/">Jansi</a>.</li>
<li>The JDBC Appender requires a JDBC driver for the database you choose to write events to.</li>
<li>The JPA Appender requires the Java Persistence API classes, a JPA provider implementation,
and a decorated entity that the user implements. It also requires an appropriate JDBC driver.</li>
<li>The NoSQL Appender with MongoDB provider requires the MongoDB Java Client driver.</li>
<li>The NoSQL Appender with Apache CouchDB provider requires the LightCouch CouchDB client library.</li>
<li>The NoSQL Appender can be customized with a user-supplied provider, which will require the
appropriate client library.</li>
<li>bzip2, Deflate, Pack200, and XZ compression on rollover requires
<a href="http://commons.apache.org/proper/commons-compress/">Apache Commons Compress</a>. In addition,
XZ requires <a href="http://tukaani.org/xz/java.html">XZ for Java</a>.</li>
</ul>
</section>
</body>
</document>