"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>