Currently it is not easy for users to find what extra dependencies (if any) are required when they want to use a Log4j feature.
For example, if users want to use async loggers, they need the LMAX Disruptor jar. If users want to use a JSON configuration, they need a number of Jackson jar files.
This is (partially?) documented here: http://logging.apache.org/log4j/2.x/log4j-core/index.html
This ticket is to have that same information, perhaps in an easier to grasp format, available in a page that is linked to from the left-hand navigation menu on the site.
One proposal is to display this in a table format, one column with the Log4j feature and one column with its dependencies.
Some Log4J features depend on external libraries. This page lists the required and optional dependencies.
The Log4J API module has no external dependencies.
|JSON configuration||Jackson Data Processor|
|Async Loggers||LMAX Disruptor|
|JMSQueueAppender and JMSTopicAppender||a JMS implementation like Apache ActiveMQ|
|Windows color support||Jansi|
|JDBC Appender||a JDBC driver for the database you choose to write events to|
|JPA Appender||the Java Persistence API classes, a JPA provider implementation, and a decorated entity that the user implements. It also requires an appropriate JDBC driver|
|NoSQL Appender with MongoDB provider||the MongoDB Java Client driver|
|NoSQL Appender with Apache CouchDB provider||the LightCouch CouchDB client library|
The Commons Logging Bridge requires Commons Logging. See the Dependency Tree for the exact list of JAR files needed.
The Log4j 1.2 Bridge has no external dependencies.
The Log4j 2 SLF4J Binding depends on the SLF4J API. See the Dependency Tree for the exact list of JAR files needed.
The Log4j 2 Java Util Logging Adapter has no external dependencies.
The Log4j 2 to SLF4J Adapter requires the SLF4J API and an SLF4J implementation. See the Dependency Tree for the exact list of JAR files needed.