blob: 83111d910e8477f97511c5b1f9fddfd87cf87459 [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.9.1 from src/site/markdown/index.md.vm at 2020-05-10
| Rendered using Apache Maven Fluido Skin 1.8
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content="Apache Maven Doxia Site Renderer 1.9.1" />
<title>Log4j Docker Support &#x2013; Log4j Kubernetes Support</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.8.min.css" />
<link rel="stylesheet" href="./css/site.css" />
<link rel="stylesheet" href="./css/print.css" media="print" />
<script src="./js/apache-maven-fluido-1.8.min.js"></script>
</head>
<body class="topBarDisabled">
<div class="container-fluid">
<header>
<div id="banner">
<div class="pull-left"><a href="http://logging.apache.org" id="bannerLeft"><img src="../images/ls-logo.jpg" alt=""/></a></div>
<div class="pull-right"><a href="http://logging.apache.org/log4j/2.x" id="bannerRight"><img src="../images/logo.png" alt=""/></a></div>
<div class="clear"><hr/></div>
</div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li id="publishDate">Last Published: 2020-05-10<span class="divider">|</span>
</li>
<li id="projectVersion">Version: 2.13.3</li>
<li class="pull-right"><span class="divider">|</span>
<a href="../index.html" title="Log4j">Log4j</a></li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a></li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a></li>
<li class="pull-right"><span class="divider">|</span>
<a href="https://github.com/apache/logging-log4j2" class="externalLink" title="GitHub">GitHub</a></li>
<li class="pull-right"><span class="divider">|</span>
<a href="https://analysis.apache.org/dashboard/index/org.apache.logging.log4j:log4j" class="externalLink" title="Sonar">Sonar</a></li>
<li class="pull-right"><span class="divider">|</span>
<a href="../../../" title="Logging Services">Logging Services</a></li>
<li class="pull-right"><span class="divider">|</span>
<a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a></li>
<li class="pull-right"><a href="https://cwiki.apache.org/confluence/display/LOGGING/Log4j" class="externalLink" title="Logging Wiki">Logging Wiki</a></li>
</ul>
</div>
</header>
<div class="row-fluid">
<header id="leftColumn" class="span2">
<nav class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header"><img class="imageLink" src="img/glyphicons/home.png" alt="Apache Log4j™ 2" border="0"/> Apache Log4j™ 2</li>
<li><a href="../index.html" title="About"><span class="none"></span>About</a></li>
<li><a href="../download.html" title="Download"><span class="none"></span>Download</a></li>
<li><a href="../javadoc.html" title="Javadoc"><span class="icon-chevron-right"></span>Javadoc</a></li>
<li><a href="../maven-artifacts.html" title="Maven, Ivy, Gradle Artifacts"><span class="icon-chevron-right"></span>Maven, Ivy, Gradle Artifacts</a></li>
<li><a href="../runtime-dependencies.html" title="Runtime Dependencies"><span class="none"></span>Runtime Dependencies</a></li>
<li><a href="../changelog.html" title="Changelog"><span class="none"></span>Changelog</a></li>
<li><a href="../faq.html" title="FAQ"><span class="none"></span>FAQ</a></li>
<li><a href="../performance.html" title="Performance"><span class="icon-chevron-right"></span>Performance</a></li>
<li><a href="../articles.html" title="Articles and Tutorials"><span class="none"></span>Articles and Tutorials</a></li>
<li><a href="../security.html" title="Security"><span class="none"></span>Security</a></li>
<li><a href="../support.html" title="Support"><span class="none"></span>Support</a></li>
<li><a href="../thanks.html" title="Thanks"><span class="none"></span>Thanks</a></li>
<li class="nav-header"><img class="imageLink" src="img/glyphicons/pencil.png" alt="For Contributors" border="0"/> For Contributors</li>
<li><a href="../build.html" title="Building Log4j from Source"><span class="none"></span>Building Log4j from Source</a></li>
<li><a href="../guidelines.html" title="Guidelines"><span class="none"></span>Guidelines</a></li>
<li><a href="../javastyle.html" title="Style Guide"><span class="none"></span>Style Guide</a></li>
<li class="nav-header"><img class="imageLink" src="img/glyphicons/book.png" alt="Manual" border="0"/> Manual</li>
<li><a href="../manual/index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
<li><a href="../manual/architecture.html" title="Architecture"><span class="none"></span>Architecture</a></li>
<li><a href="../manual/compatibility.html" title="Log4j 1.x Compatibility"><span class="none"></span>Log4j 1.x Compatibility</a></li>
<li><a href="../manual/migration.html" title="Log4j 1.x Migration"><span class="none"></span>Log4j 1.x Migration</a></li>
<li><a href="../manual/api.html" title="Java API"><span class="icon-chevron-right"></span>Java API</a></li>
<li><a href="../manual/scala-api.html" title="Scala API"><span class="none"></span>Scala API</a></li>
<li><a href="../manual/configuration.html" title="Configuration"><span class="icon-chevron-right"></span>Configuration</a></li>
<li><a href="../manual/usage.html" title="Usage"><span class="icon-chevron-right"></span>Usage</a></li>
<li><a href="../manual/webapp.html" title="Web Applications and JSPs"><span class="icon-chevron-right"></span>Web Applications and JSPs</a></li>
<li><a href="../manual/lookups.html" title="Lookups"><span class="icon-chevron-right"></span>Lookups</a></li>
<li><a href="../manual/appenders.html" title="Appenders"><span class="icon-chevron-right"></span>Appenders</a></li>
<li><a href="../manual/layouts.html" title="Layouts"><span class="icon-chevron-right"></span>Layouts</a></li>
<li><a href="../manual/filters.html" title="Filters"><span class="icon-chevron-right"></span>Filters</a></li>
<li><a href="../manual/async.html" title="Async Loggers"><span class="icon-chevron-right"></span>Async Loggers</a></li>
<li><a href="../manual/garbagefree.html" title="Garbage-free Logging"><span class="icon-chevron-right"></span>Garbage-free Logging</a></li>
<li><a href="../manual/jmx.html" title="JMX"><span class="none"></span>JMX</a></li>
<li><a href="../manual/logsep.html" title="Logging Separation"><span class="none"></span>Logging Separation</a></li>
<li><a href="../manual/extending.html" title="Extending Log4j"><span class="icon-chevron-right"></span>Extending Log4j</a></li>
<li><a href="../manual/plugins.html" title="Plugins"><span class="icon-chevron-right"></span>Plugins</a></li>
<li><a href="../manual/customconfig.html" title="Programmatic Log4j Configuration"><span class="icon-chevron-right"></span>Programmatic Log4j Configuration</a></li>
<li><a href="../manual/customloglevels.html" title="Custom Log Levels"><span class="icon-chevron-right"></span>Custom Log Levels</a></li>
<li class="nav-header"><img class="imageLink" src="img/glyphicons/tag.png" alt="Related Projects" border="0"/> Related Projects</li>
<li><a href="http://logging.apache.org/log4j/scala/index.html" class="externalLink" title="Log4j-Scala"><span class="none"></span>Log4j-Scala</a></li>
<li class="nav-header"><img class="imageLink" src="img/glyphicons/link.png" alt="Legacy Sites" border="0"/> Legacy Sites</li>
<li><a href="http://logging.apache.org/log4j/1.2/" class="externalLink" title="Log4j 1.2 - End of Life"><span class="none"></span>Log4j 1.2 - End of Life</a></li>
<li><a href="http://logging.apache.org/log4j/log4j-2.3/" class="externalLink" title="Log4j 2.3 - Java 6"><span class="none"></span>Log4j 2.3 - Java 6</a></li>
<li><a href="http://logging.apache.org/log4j/log4j-2.12.1" class="externalLink" title="Log4j 2.12.1 - Java 7"><span class="none"></span>Log4j 2.12.1 - Java 7</a></li>
<li class="nav-header"><img class="imageLink" src="img/glyphicons/cog.png" alt="Components" border="0"/> Components</li>
<li><a href="../log4j-api/index.html" title="API"><span class="none"></span>API</a></li>
<li><a href="../log4j-core/index.html" title="Implementation"><span class="none"></span>Implementation</a></li>
<li><a href="../log4j-jcl/index.html" title="Commons Logging Bridge"><span class="none"></span>Commons Logging Bridge</a></li>
<li><a href="../log4j-1.2-api/index.html" title="Log4j 1.2 API"><span class="none"></span>Log4j 1.2 API</a></li>
<li><a href="../log4j-slf4j-impl/index.html" title="SLF4J Binding"><span class="none"></span>SLF4J Binding</a></li>
<li><a href="../log4j-jul/index.html" title="JUL Adapter"><span class="none"></span>JUL Adapter</a></li>
<li><a href="../log4j-jpl/index.html" title="JDK Platform Logger"><span class="none"></span>JDK Platform Logger</a></li>
<li><a href="../log4j-to-slf4j/index.html" title="Log4j 2 to SLF4J Adapter"><span class="none"></span>Log4j 2 to SLF4J Adapter</a></li>
<li><a href="../log4j-flume-ng/index.html" title="Apache Flume Appender"><span class="none"></span>Apache Flume Appender</a></li>
<li><a href="../log4j-taglib/index.html" title="Log4j Tag Library"><span class="none"></span>Log4j Tag Library</a></li>
<li><a href="../log4j-jmx-gui/index.html" title="Log4j JMX GUI"><span class="none"></span>Log4j JMX GUI</a></li>
<li><a href="../log4j-web/index.html" title="Log4j Web Application Support"><span class="none"></span>Log4j Web Application Support</a></li>
<li><a href="../log4j-appserver/index.html" title="Log4j Application Server Integration"><span class="none"></span>Log4j Application Server Integration</a></li>
<li><a href="../log4j-couchdb/index.html" title="Log4j CouchDB appender"><span class="none"></span>Log4j CouchDB appender</a></li>
<li><a href="../log4j-mongodb2/index.html" title="Log4j MongoDB2 appender"><span class="none"></span>Log4j MongoDB2 appender</a></li>
<li><a href="../log4j-mongodb3/index.html" title="Log4j MongoDB3 appender"><span class="none"></span>Log4j MongoDB3 appender</a></li>
<li><a href="../log4j-cassandra/index.html" title="Log4j Cassandra appender"><span class="none"></span>Log4j Cassandra appender</a></li>
<li><a href="../log4j-iostreams/index.html" title="Log4j IO Streams"><span class="none"></span>Log4j IO Streams</a></li>
<li><a href="../log4j-liquibase/index.html" title="Log4j Liquibase Binding"><span class="none"></span>Log4j Liquibase Binding</a></li>
<li><a href="../log4j-docker/index.html" title="Log4j Docker Support"><span class="none"></span>Log4j Docker Support</a></li>
<li><a href="../log4j-spring-cloud-config/log4j-spring-cloud-config-client/index.html" title="Log4j Spring Cloud Config Client"><span class="none"></span>Log4j Spring Cloud Config Client</a></li>
<li class="nav-header">Project Documentation</li>
<li><a href="project-info.html" title="Project Information"><span class="icon-chevron-down"></span>Project Information</a>
<ul class="nav nav-list">
<li class="active"><a href="#"><span class="none"></span>About</a></li>
<li><a href="dependencies.html" title="Dependencies"><span class="none"></span>Dependencies</a></li>
<li><a href="dependency-info.html" title="Dependency Information"><span class="none"></span>Dependency Information</a></li>
<li><a href="dependency-convergence.html" title="Dependency Convergence"><span class="none"></span>Dependency Convergence</a></li>
<li><a href="dependency-management.html" title="Dependency Management"><span class="none"></span>Dependency Management</a></li>
<li><a href="team-list.html" title="Team"><span class="none"></span>Team</a></li>
<li><a href="mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a></li>
<li><a href="issue-tracking.html" title="Issue Management"><span class="none"></span>Issue Management</a></li>
<li><a href="license.html" title="Licenses"><span class="none"></span>Licenses</a></li>
<li><a href="source-repository.html" title="Source Code Management"><span class="none"></span>Source Code Management</a></li>
<li><a href="project-summary.html" title="Summary"><span class="none"></span>Summary</a></li>
</ul></li>
<li><a href="project-reports.html" title="Project Reports"><span class="icon-chevron-right"></span>Project Reports</a></li>
<li class="nav-header"><img class="imageLink" src="icon-info-sign" alt="Log4j Project Information" border="0"/> Log4j Project Information</li>
<li><a href="../dependencies.html" title="Dependencies"><span class="none"></span>Dependencies</a></li>
<li><a href="../dependency-convergence.html" title="Dependency Convergence"><span class="none"></span>Dependency Convergence</a></li>
<li><a href="../dependency-management.html" title="Dependency Management"><span class="none"></span>Dependency Management</a></li>
<li><a href="../team-list.html" title="Project Team"><span class="none"></span>Project Team</a></li>
<li><a href="../mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a></li>
<li><a href="../issue-tracking.html" title="Issue Tracking"><span class="none"></span>Issue Tracking</a></li>
<li><a href="../license.html" title="Project License"><span class="none"></span>Project License</a></li>
<li><a href="../source-repository.html" title="Source Repository"><span class="none"></span>Source Repository</a></li>
<li><a href="../project-summary.html" title="Project Summary"><span class="none"></span>Project Summary</a></li>
<li class="nav-header"><img class="imageLink" src="icon-cog" alt="Log4j Project Reports" border="0"/> Log4j Project Reports</li>
<li><a href="../changes-report.html" title="Changes Report"><span class="none"></span>Changes Report</a></li>
<li><a href="../jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a></li>
<li><a href="../surefire-report.html" title="Surefire Report"><span class="none"></span>Surefire Report</a></li>
<li><a href="../rat-report.html" title="RAT Report"><span class="none"></span>RAT Report</a></li>
</ul>
</nav>
<div class="well sidebar-nav">
<hr />
<div id="poweredBy">
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
</div>
</div>
</header>
<main id="bodyColumn" class="span10" >
<!-- vim: set syn=markdown : -->
<!--
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.
-->
<h1>Log4j Kubernetes Support</h1>
<p>Log4j supports Kubernetes by providing a Lookup to retrieve container information.</p><section>
<h2><a name="Accessing_Kubernetes"></a>Accessing Kubernetes</h2>
<p>The Log4j Kubernetes support requires access to the Docker REST interface. In many cases the REST service can be accessed automatically. If needed the Kubernetes client can be configured any of the standard Log4j configuration locations or via the Spring Boot configuration. Note, however, that since Spring Boot causes logging to initialize 3 times and since the Spring environment is only available during the last Log4j initialization Spring properties will only be available to Log4j in the last initialization.</p></section><section>
<h2><a name="Lookup_Attributes"></a>Lookup Attributes</h2>
<p>Log4j Kubernetes provides access to the following container attributes:</p>
<ul>
<li>accountName - The service account name.</li>
<li>clusterName - The name of the cluster the application is running in.</li>
<li>containerId - The full id assigned to the container.</li>
<li>containerName - The name assigned to the container.</li>
<li>host - The name of the host.</li>
<li>hostIp - The host&#x2019;s ip address.</li>
<li>imageId - The id assigned to the image.</li>
<li>imageName - The name assigned to the image.</li>
<li>labels - All labels formatted in a list.</li>
<li>labels.app - The application name.</li>
<li>labels.podTemplateHash - The pod&#x2019;s template hash value.</li>
<li>masterUrl - The url needed to access the API server.</li>
<li>namespaceId - The id of the namespace the various kubernetes components are located within.</li>
<li>namespaceName - The namespace the various kubernetes components are located within.</li>
<li>podId - The pod&#x2019;s id number.</li>
<li>podIp - The pod&#x2019;s ip address.</li>
<li>podName - The name of the pod.</li>
</ul>
<p>Attributes may be accessed by adding</p>
<div>
<div>
<pre class="source">${k8s:containerId}
</pre></div></div>
<p>to the configuration. Note that kubernetes variables are only resolved once during logging initialization so they shouldn&#x2019;t be referenced with more than one &#x2018;$&#x2019; character.</p></section><section>
<h2><a name="Configuration"></a>Configuration</h2>
<p>Much of the configuration needed to access the Kubernetes API server is provided automatically by Kubernetes. However, it is not uncommon to need to provide the url required to access the Kubernetes API server or the namespace the application is assigned to. The properties below may either be configured using the Log4j variable names and located by Log4j&#x2019;s normal property resolution mechansim or Log4j will resolve the spring properties when the application is running in Spring Boot and the Spring Environment has been created. Note that Spring Boot initializes logging 3 times and only the last will have a Spring Environment present.</p>
<table border="0" class="table table-striped">
<thead>
<tr class="a">
<th> Log4j Property Name </th>
<th align="right"> Spring Property Name </th>
<th align="right"> Default </th>
<th align="right"> Description </th></tr>
</thead><tbody>
<tr class="b">
<td> log4j2.kubernetes.client.apiVersion </td>
<td align="right"> spring.cloud.kubernetes.client.apiVersion </td>
<td align="right"> v1 </td>
<td align="right"> Kubernetes API Version </td></tr>
<tr class="a">
<td> log4j2.kubernetes.client.caCertData </td>
<td align="right"> spring.cloud.kubernetes.client.caCertData </td>
<td align="right"> </td>
<td align="right"> Kubernetes API CACertData </td></tr>
<tr class="b">
<td> log4j2.kubernetes.client.caCertFile </td>
<td align="right"> spring.cloud.kubernetes.client.caCertFile </td>
<td align="right"> </td>
<td align="right"> Kubernetes API CACertFile </td></tr>
<tr class="a">
<td> log4j2.kubernetes.client.clientCertData </td>
<td align="right"> spring.cloud.kubernetes.client.clientCertData </td>
<td align="right"> </td>
<td align="right"> Kubernetes API ClientCertData </td></tr>
<tr class="b">
<td> log4j2.kubernetes.client.clientCertFile </td>
<td align="right"> spring.cloud.kubernetes.client.clientCertFile </td>
<td align="right"> </td>
<td align="right"> Kubernetes API ClientCertFile </td></tr>
<tr class="a">
<td> log4j2.kubernetes.client.clientKeyAlgo </td>
<td align="right"> spring.cloud.kubernetes.client.clientKeyAlgo </td>
<td align="right"> RSA </td>
<td align="right"> Kubernetes API ClientKeyAlgo </td></tr>
<tr class="b">
<td> log4j2.kubernetes.client.clientKeyData </td>
<td align="right"> spring.cloud.kubernetes.client.clientKeyData </td>
<td align="right"> </td>
<td align="right"> Kubernetes API ClientKeyData </td></tr>
<tr class="a">
<td> log4j2.kubernetes.client.clientKeyFile </td>
<td align="right"> spring.cloud.kubernetes.client.clientKeyFile </td>
<td align="right"> </td>
<td align="right"> Kubernetes API ClientKeyFile </td></tr>
<tr class="b">
<td> log4j2.kubernetes.client.clientKeyPassPhrase </td>
<td align="right"> spring.cloud.kubernetes.client.clientKeyPassphrase </td>
<td align="right"> changeit </td>
<td align="right"> Kubernetes API ClientKeyPassphrase </td></tr>
<tr class="a">
<td> log4j2.kubernetes.client.connectionTimeout </td>
<td align="right"> spring.cloud.kubernetes.client.connectionTimeout </td>
<td align="right"> 10s </td>
<td align="right"> Connection timeout </td></tr>
<tr class="b">
<td> log4j2.kubernetes.client.httpProxy </td>
<td align="right"> spring.cloud.kubernetes.client.http-proxy </td>
<td align="right"> </td>
<td align="right"> </td></tr>
<tr class="a">
<td> log4j2.kubernetes.client.httpsProxy </td>
<td align="right"> spring.cloud.kubernetes.client.https-proxy </td>
<td align="right"> </td>
<td align="right"> </td></tr>
<tr class="b">
<td> log4j2.kubernetes.client.loggingInberval </td>
<td align="right"> spring.cloud.kubernetes.client.loggingInterval </td>
<td align="right"> 20s </td>
<td align="right"> Logging interval </td></tr>
<tr class="a">
<td> log4j2.kubernetes.client.masterUrl </td>
<td align="right"> spring.cloud.kubernetes.client.masterUrl </td>
<td align="right"> kubernetes.default.svc </td>
<td align="right"> Kubernetes API Master Node URL </td></tr>
<tr class="b">
<td> log4j2.kubernetes.client.namespacce </td>
<td align="right"> spring.cloud.kubernetes.client.namespace </td>
<td align="right"> default </td>
<td align="right"> Kubernetes Namespace </td></tr>
<tr class="a">
<td> log4j2.kubernetes.client.noProxy </td>
<td align="right"> spring.cloud.kubernetes.client.noProxy </td>
<td align="right"> </td>
<td align="right"> </td></tr>
<tr class="b">
<td> log4j2.kubernetes.client.password </td>
<td align="right"> spring.cloud.kubernetes.client.password </td>
<td align="right"> </td>
<td align="right"> Kubernetes API Password </td></tr>
<tr class="a">
<td> log4j2.kubernetes.client.proxyPassword </td>
<td align="right"> spring.cloud.kubernetes.client.proxyPassword </td>
<td align="right"> </td>
<td align="right"> </td></tr>
<tr class="b">
<td> log4j2.kubernetes.client.proxyUsername </td>
<td align="right"> spring.cloud.kubernetes.client.proxyUsername </td>
<td align="right"> </td>
<td align="right"> </td></tr>
<tr class="a">
<td> log4j2.kubernetes.client.requestTimeout </td>
<td align="right"> spring.cloud.kubernetes.client.requestTimeout </td>
<td align="right"> 10s </td>
<td align="right"> Request timeout </td></tr>
<tr class="b">
<td> log4j2.kubernetes.client.rollingTimeout </td>
<td align="right"> spring.cloud.kubernetes.client.rollingTimeout </td>
<td align="right"> 900s </td>
<td align="right"> Rolling timeout </td></tr>
<tr class="a">
<td> log4j2.kubernetes.client.trustCerts </td>
<td align="right"> spring.cloud.kubernetes.client.trustCerts </td>
<td align="right"> false </td>
<td align="right"> Kubernetes API Trust Certificates </td></tr>
<tr class="b">
<td> log4j2.kubernetes.client.username </td>
<td align="right"> spring.cloud.kubernetes.client.username </td>
<td align="right"> </td>
<td align="right"> Kubernetes API Username </td></tr>
<tr class="a">
<td> log4j2.kubernetes.client.watchReconnectInterval </td>
<td align="right"> spring.cloud.kubernetes.client.watchReconnectInterval </td>
<td align="right"> 1s </td>
<td align="right"> Reconnect Interval </td></tr>
<tr class="b">
<td> log4j2.kubernetes.client.watchReconnectLimit </td>
<td align="right"> spring.cloud.kubernetes.client.watchReconnectLimit </td>
<td align="right"> -1 </td>
<td align="right"> Reconnect Interval limit retries </td></tr>
</tbody>
</table></section><section>
<h2><a name="Requirements"></a>Requirements</h2>
<p>Log4j Kubernetes requires Log4j Core, Log4j API and a minimum of Java 8. For more information, see <a href="../runtime-dependencies.html">Runtime Dependencies</a>.</p></section>
</main>
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
<div class="row-fluid">
<p align="center">Copyright &copy; 1999-2020 <a class="external" href="http://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.<br>
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>
</div>
</div>
</footer>
</body>
</html>