"Fossies" - the Fresh Open Source Software Archive

Member "apache-log4j-2.12.4-src/src/site/xdoc/runtime-dependencies.xml" (20 Dec 2021, 17474 Bytes) of package /linux/misc/apache-log4j-2.12.4-src.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) XML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "runtime-dependencies.xml": 2.18.0_vs_2.19.0.

    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <!--
    3  Licensed to the Apache Software Foundation (ASF) under one or more
    4  contributor license agreements. See the NOTICE file distributed with
    5  this work for additional information regarding copyright ownership.
    6  The ASF licenses this file to You under the Apache License, Version 2.0
    7  (the "License"); you may not use this file except in compliance with
    8  the License. You may obtain a copy of the License at
    9 
   10          http://www.apache.org/licenses/LICENSE-2.0
   11 
   12  Unless required by applicable law or agreed to in writing, software
   13  distributed under the License is distributed on an "AS IS" BASIS,
   14  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   15  See the License for the specific language governing permissions and
   16  limitations under the License.
   17 -->
   18 <document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   19   xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
   20 
   21   <properties>
   22     <title>Log4j Runtime Dependencies</title>
   23   </properties>
   24 
   25   <body>
   26     <section name="Log4j Runtime Dependencies">
   27       <p>
   28         Some Log4J features depend on external libraries. This page lists the required and optional
   29         dependencies.
   30       </p>
   31       <p>
   32         As of version 2.10.0 the Log4j API is a Java module (with a module-info.java). Many of the other
   33         jars are automatic modules. The characteristics of the modules are:
   34 
   35         <table>
   36           <tr>
   37             <th>Artifact Name</th>
   38             <th>Module Name</th>
   39             <th>Module Characteristics</th>
   40           </tr>
   41           <tr>
   42             <td>log4j-api</td>
   43             <td>org.apache.logging.log4j</td>
   44             <td>
   45               <table>
   46                 <tr>
   47                   <th>Module Directive</th>
   48                   <th>Notes</th>
   49                 </tr>
   50                 <tr>
   51                   <td>exports org.apache.logging.log4j</td>
   52                   <td></td>
   53                 </tr>
   54                 <tr>
   55                   <td>exports org.apache.logging.log4j.message</td>
   56                   <td></td>
   57                 </tr>
   58                 <tr>
   59                   <td>exports org.apache.logging.log4j.simple</td>
   60                   <td></td>
   61                 </tr>
   62                 <tr>
   63                   <td>exports org.apache.logging.log4j.spi</td>
   64                   <td></td>
   65                 </tr>
   66                 <tr>
   67                   <td>exports org.apache.logging.log4j.spi</td>
   68                   <td></td>
   69                 </tr>
   70                 <tr>
   71                   <td>exports org.apache.logging.log4j.util</td>
   72                   <td>Some classes in this package are used by the logging implementation and should be
   73                     considered private. The module info definition may be modified in the future to export
   74                     these only to the logging implmentation.</td>
   75                 </tr>
   76                 <tr>
   77                   <td>uses org.apache.logging.log4j.spi.Provider</td>
   78                   <td>Service that must be provided by the logging implementation.</td>
   79                 </tr>
   80               </table>
   81             </td>
   82           </tr>
   83           <tr>
   84             <td>log4j-appserver</td>
   85             <td>org.apache.logging.log4j.appserver</td>
   86             <td>Automatic Module</td>
   87           </tr>
   88           <tr>
   89             <td>log4j-cassandra</td>
   90             <td>org.apache.logging.log4j.cassandra</td>
   91             <td>Automatic Module</td>
   92           </tr>
   93           <tr>
   94             <td>log4j-core</td>
   95             <td>org.apache.logging.log4j.core</td>
   96             <td>Automatic Module</td>
   97           </tr>
   98           <tr>
   99             <td>log4j-couchdb</td>
  100             <td>org.apache.logging.log4j.couchdb</td>
  101             <td>Automatic Module</td>
  102           </tr>
  103           <tr>
  104             <td>log4j-docker</td>
  105             <td>org.apache.logging.log4j.docker</td>
  106             <td>Automatic Module</td>
  107           </tr>
  108           <tr>
  109             <td>log4j-1.2-api</td>
  110             <td>org.apache.log4j</td>
  111             <td>Automatic Module</td>
  112           </tr>
  113 
  114           <tr>
  115             <td>log4j-flume-ng</td>
  116             <td>org.apache.logging.log4j.flume</td>
  117             <td>Automatic Module</td>
  118           </tr>
  119           <tr>
  120             <td>log4j-iostreams</td>
  121             <td>org.apache.logging.log4j.iostreams</td>
  122             <td>Automatic Module</td>
  123           </tr>
  124           <tr>
  125             <td>log4j-jcl</td>
  126             <td>org.apache.logging.log4j.jcl</td>
  127             <td>Automatic Module</td>
  128           </tr>
  129           <tr>
  130             <td>log4j-jmx-gui</td>
  131             <td>org.apache.logging.log4j.jmx.gui</td>
  132             <td>Automatic Module</td>
  133           </tr>
  134           <tr>
  135             <td>log4j-jul</td>
  136             <td>org.apache.logging.log4j.jul</td>
  137             <td>Automatic Module</td>
  138           </tr>
  139           <tr>
  140             <td>log4j-mongodb</td>
  141             <td>org.apache.logging.log4j.mongodb</td>
  142             <td>Automatic Module</td>
  143           </tr>
  144 
  145           <tr>
  146             <td>log4j-osgi</td>
  147             <td>org.apache.logging.log4j.osgi</td>
  148             <td>Automatic Module. Unclear how OSGi will support Java modules.</td>
  149           </tr>
  150           <tr>
  151             <td>log4j-slf4j-impl</td>
  152             <td>org.apache.logging.log4j.slf4j.impl</td>
  153             <td>Automatic Module. May require renaming should SLF4J ever require all implementations to have the same
  154               module name.</td>
  155             </tr>
  156           <tr>
  157             <td>log4j-taglib</td>
  158             <td>org.apache.logging.log4j.taglib</td>
  159             <td>Automatic Module</td>
  160           </tr>
  161           <tr>
  162             <td>log4j-to-slf4j</td>
  163             <td>org.apache.logging.log4j.slf4j</td>
  164             <td>Automatic Module</td>
  165           </tr>
  166           <tr>
  167             <td>log4j-web</td>
  168             <td>org.apache.logging.log4j.web</td>
  169             <td>Automatic Module</td>
  170           </tr>
  171         </table>
  172       </p>
  173       <p>
  174         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
  175         packaged as a multi-release jar and supports the use of the StackWalker and Process APIs.
  176       </p>
  177       <p>
  178         As of version 2.4, Log4J requires Java 7.
  179       </p>
  180       <p>
  181         Log4j version 2.3 and older require Java 6.
  182       </p>
  183 
  184       <a name="log4j-api" />
  185       <h4>log4j-api</h4>
  186       <p>
  187         The Log4J <a href="log4j-api/index.html">API</a> module has no external dependencies.
  188       </p>
  189 
  190       <a name="log4j-core" />
  191       <h4>log4j-core</h4>
  192       <p>
  193         The Log4J <a href="log4j-core/index.html">Implementation</a> has several optional
  194         <a href="log4j-core/dependencies.html">dependencies</a>.
  195         See the <a href="log4j-core/dependencies.html#Dependency_Tree">Dependency Tree</a> for the
  196         exact list of JAR files needed for these features.
  197       </p>
  198       <table>
  199         <caption align="top">Optional Dependencies per Feature in Log4J Implementation</caption>
  200         <tr>
  201           <th>Feature</th>
  202           <th>Requirements</th>
  203         </tr>
  204         <tr>
  205           <td>XML configuration</td>
  206           <td>-</td>
  207         </tr>
  208         <tr>
  209           <td>Properties configuration</td>
  210           <td>-</td>
  211         </tr>
  212         <tr>
  213           <td>JSON configuration</td>
  214           <td><a href="https://github.com/FasterXML/jackson">Jackson core and databind</a></td>
  215         </tr>
  216         <tr>
  217           <td>YAML configuration</td>
  218           <td><a href="https://github.com/FasterXML/jackson">Jackson databind</a> and <a href="https://github.com/FasterXML/jackson-dataformat-yaml">YAML data format</a></td>
  219         </tr>
  220         <tr>
  221           <td>CSV Layout</td>
  222           <td><a href="https://commons.apache.org/proper/commons-csv/">Apache Commons CSV</a></td>
  223         </tr>
  224         <tr>
  225           <td>JSON Layout</td>
  226           <td><a href="https://github.com/FasterXML/jackson">Jackson core and databind</a></td>
  227         </tr>
  228         <tr>
  229           <td>XML Layout</td>
  230           <td><a href="https://github.com/FasterXML/jackson">Jackson core, databind and dataformat XML</a><br />
  231               And <code>com.fasterxml.woodstox:woodstox-core:5.0.2</code></td>
  232         </tr>
  233         <tr>
  234           <td>YAML Layout</td>
  235           <td><a href="https://github.com/FasterXML/jackson">Jackson core, databind</a> and <a href="https://github.com/FasterXML/jackson-dataformat-yaml">YAML data format</a></td>
  236         </tr>
  237         <tr>
  238           <td>Async Loggers</td>
  239           <td><a href="http://lmax-exchange.github.io/disruptor/">LMAX Disruptor</a></td>
  240         </tr>
  241         <tr>
  242           <td>Kafka Appender</td>
  243           <td><a href="http://kafka.apache.org/">Kafka client library</a>. Note that you need to use a version of
  244           the Kafka client library matching the Kafka server used.</td>
  245         </tr>
  246         <tr>
  247           <td>SMTP Appender</td>
  248           <td>an implementation of <code>javax.mail</code></td>
  249         </tr>
  250         <tr>
  251           <td>JMS Appender</td>
  252           <td>a JMS broker like <a href="http://activemq.apache.org/">Apache ActiveMQ</a></td>
  253         </tr>
  254         <tr>
  255           <td>Windows console color support</td>
  256           <td><a href="http://jansi.fusesource.org/">Jansi</a></td>
  257         </tr>
  258         <tr>
  259           <td>JDBC Appender</td>
  260           <td>a JDBC driver for the database you choose to write events to</td>
  261         </tr>
  262         <tr>
  263           <td>JPA Appender</td>
  264           <td>the Java Persistence API classes, a JPA provider implementation, and a decorated
  265             entity that the user implements. It also requires an appropriate JDBC driver
  266           </td>
  267         </tr>
  268         <tr>
  269           <td>NoSQL Appender with MongoDB provider</td>
  270           <td>MongoDB Java Client driver and Log4j MongoDB library</td>
  271         </tr>
  272         <tr>
  273           <td>NoSQL Appender with Apache CouchDB provider</td>
  274           <td>LightCouch CouchDB client library and Log4j CouchDB library</td>
  275         </tr>
  276         <tr>
  277           <td>Cassandra Appender</td>
  278           <td>Datastax Cassandra driver and Log4j Cassandra library</td>
  279         </tr>
  280         <tr>
  281           <td>Bzip2, Deflate, Pack200, and XZ compression on rollover</td>
  282           <td><a href="http://commons.apache.org/proper/commons-compress/">Apache Commons Compress</a>.
  283             In addition, XZ requires <a href="http://tukaani.org/xz/java.html">XZ for Java</a>.
  284           </td>
  285         </tr>
  286         <tr>
  287           <td>ZeroMQ Appender</td>
  288           <td>
  289             The ZeroMQ appender uses the <a href="https://github.com/zeromq/jeromq">JeroMQ</a> library which is
  290             licensed under the terms of the Mozilla Public License Version 2.0 (MPLv2). For details see the
  291             file <a href="https://github.com/zeromq/jeromq/blob/master/LICENSE">LICENSE</a> included with the JeroMQ
  292             distribution.
  293           </td>
  294         </tr>
  295       </table>
  296       <a name="log4j-docker"/>
  297       <h4>log4j-docker</h4>
  298       <p>
  299         <a href="log4j-docker/index.html">Log4j Docker Support</a> requires
  300         <a href="https://github.com/FasterXML/jackson">Jackson annotations, core, and databind</a>. See the
  301         <a href="log4j-docker/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of
  302         JAR files needed.
  303       </p>
  304       <a name="log4j-jcl" />
  305       <h4>log4j-jcl</h4>
  306       <p>
  307         The <a href="log4j-jcl/index.html">Commons Logging Bridge</a> requires
  308         <a href="http://commons.apache.org/proper/commons-logging/">Commons Logging</a>. See the
  309         <a href="log4j-jcl/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact
  310         list of JAR files needed.
  311       </p>
  312 
  313       <a name="log4j-1.2-api" />
  314       <h4>log4j-1.2-api</h4>
  315       <p>
  316         The <a href="log4j-1.2-api/index.html">Log4j 1.2 Bridge</a> has no external dependencies.
  317         This only requires the Log4j API. Including Log4j Core provides optional, extra functionality.
  318       </p>
  319 
  320       <a name="log4j-slf4j-impl" />
  321       <h4>log4j-slf4j-impl</h4>
  322       <p>
  323         The Log4j 2 <a href="log4j-slf4j-impl/index.html">SLF4J Binding</a> depends on the
  324         <a href="http://www.slf4j.org/">SLF4J</a> API. See the
  325         <a href="log4j-slf4j-impl/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact
  326         list of JAR files needed.
  327       </p>
  328       <p class="text-warning">
  329         <i class="icon-exclamation-sign"/>
  330         <b><font color="red">
  331         Do not use this with the <a href="#log4j-to-slf4j">log4j-to-slf4j</a> module.
  332         </font></b>
  333       </p>
  334 
  335       <a name="log4j-jul" />
  336       <h4>log4j-jul</h4>
  337       <p>
  338         The Log4j 2 <a href="log4j-jul/index.html">Java Util Logging Adapter</a> has no external dependencies.
  339         It optionally depends on the <a href="log4j-api/index.html">Log4j Core</a> library. The only required module
  340         is the Log4j API.
  341       </p>
  342 
  343       <a name="log4j-to-slf4j" />
  344       <h4>log4j-to-slf4j</h4>
  345       <p>
  346         The <a href="log4j-to-slf4j/index.html">Log4j 2 to SLF4J Adapter</a> requires the
  347         <a href="http://www.slf4j.org/">SLF4J</a> API and an SLF4J implementation. See the
  348         <a href="log4j-to-slf4j/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of JAR files needed.
  349       </p>
  350       <p class="text-warning">
  351         <i class="icon-exclamation-sign"/>
  352         <b><font color="red">
  353         Do not use this with the <a href="#log4j-slf4j-impl">log4j-slf4j-impl</a> module.
  354         </font></b>
  355       </p>
  356 
  357       <a name="log4j-flume-ng" />
  358       <h4>log4j-flume-ng</h4>
  359       <p>
  360         The <a href="log4j-flume-ng/index.html">Flume Appender</a> requires
  361         <a href="http://flume.apache.org/">Apache Flume</a> and <a href="http://avro.apache.org/">Apache Avro</a>.
  362         The persistent agent uses Berkeley DB. See the
  363         <a href="log4j-flume-ng/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of JAR files needed.
  364       </p>
  365       <a name="log4j-spring-cloud-config-client"/>
  366       <h4>log4j-spring-cloud-config-client</h4>
  367       <p>
  368         <a href="log4j-spring-cloud-config/log4j-spring-cloud-config-client/index.html">Log4j Spring Cloud Config Client</a> requires
  369         <a href="https://spring.io/projects/spring-cloud-config">Spring Cloud Config</a>.
  370         <a href="https://spring.io/projects/spring-cloud-bus">Spring Cloud Bus</a> is required if notification of logging
  371         configuration changes is desired. <a href="https://spring.io/projects/spring-boot">Spring Boot</a> is required
  372         but applications do not have to be packaged as a Spring Boot application.
  373         <a href="log4j-spring-cloud-config/log4j-spring-cloud-config-client/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of
  374         JAR files needed.
  375       </p>
  376       <a name="log4j-taglib" />
  377       <h4>log4j-taglib</h4>
  378       <p>
  379         The Log4j <a href="log4j-taglib/index.html">Log Tag Library</a> requires the
  380         <a href="http://jakarta.apache.org/taglibs/log/">Jakarta Commons Log Taglib</a> and the Servlet API. See the
  381         <a href="log4j-taglib/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of JAR files needed.
  382       </p>
  383 
  384       <a name="log4j-jmx-gui" />
  385       <h4>log4j-jmx-gui</h4>
  386       <p>
  387         The Log4j <a href="log4j-jmx-gui/index.html">JMX GUI</a> requires the JConsole jar when run as a JConsole plugin.
  388         Otherwise it has no external dependencies. See the
  389         <a href="log4j-jmx-gui/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of JAR files needed.
  390       </p>
  391 
  392       <a name="log4j-web" />
  393       <h4>log4j-web</h4>
  394       <p>
  395         The Log4j <a href="log4j-web/index.html">Web</a> module requires the Servlet API. See the
  396         <a href="log4j-web/dependencies.html#Dependency_Tree">Dependency Tree</a> for the exact list of JAR files needed.
  397         Note that this works with the Servlet 2.5 API as well as the Servlet 3.x API.
  398       </p>
  399 
  400       <a name="log4j-couchdb" />
  401       <h4>log4j-couchdb</h4>
  402       <p>
  403         The Log4J <a href="log4j-couchdb/index.html">CouchDB</a> module depends on
  404         the <a href="http://www.lightcouch.org/">LightCouch</a> CouchDB client library.
  405       </p>
  406 
  407       <a name="log4j-mongodb" />
  408       <h4>log4j-mongodb</h4>
  409       <p>
  410         The Log4J <a href="log4j-mongodb/index.html">MongoDB</a> module depends on
  411         the <a href="http://docs.mongodb.org/ecosystem/drivers/java/">MongoDB Java Client driver</a>.
  412       </p>
  413 
  414       <a name="log4j-cassandra" />
  415       <h4>log4j-cassandra</h4>
  416       <p>
  417         The Log4J <a href="log4j-cassandra/index.html">Cassandra</a> module depends on
  418         the <a href="http://docs.datastax.com/en/developer/driver-matrix/doc/javaDrivers.html">Datastax Cassandra driver</a>.
  419       </p>
  420 
  421       <a name="log4j-iostreams" />
  422       <h4>log4j-iostreams</h4>
  423       <p>
  424         The Log4j <a href="log4j-iostreams/index.html">IO Streams</a> module has no external dependencies.
  425         This only requires the Log4j API.
  426       </p>
  427 
  428       <a name="log4j-api-scala" />
  429       <h4>log4j-api-scala</h4>
  430       <p>
  431         The Log4j <a href="manual/scala-api.html">Scala API</a> requires Scala runtime library and reflection in
  432         addition to the Log4j API.
  433       </p>
  434 
  435     </section>
  436   </body>
  437 </document>