| <!-- 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. |
| --> |
| #set($dollar = '$') |
| #set($h1='#') |
| #set($h2='##') |
| |
| $h1 Log4j Docker Support |
| |
| Log4j supports Docker by providing a Lookup to retrieve container information. |
| |
| $h2 Accessing Docker |
| |
| The Log4j Docker support requires access to the Docker REST interface. In practical terms this means the |
| application either needs access to unix:///var/run/docker.sock through a volume mount (not recommended), |
| bind Docker to another host/port or unix socket. or use a proxy application to provide access. The |
| [Log4j Spring Cloud sample application](https://github.com/apache/logging-log4j2/tree/master/log4j-spring-cloud-config/log4j-spring-cloud-config-samples/log4j-spring-cloud-config-sample-application) |
| uses a socat proxy to access Docker. |
| |
| $h2 Lookup Attributes |
| |
| Log4j Docker provides access to the following container attributes: |
| |
| * containerId - The full id assigned to the container. |
| * containerName - The name assigned to the container. |
| * imageId - The id assigned to the image. |
| * imageName - The name assigned to the image. |
| * shortContainerId - The first 12 characters of the container id. |
| * shortImageId - The first 12 characters of the image id. |
| |
| #set( $D = '${' ) |
| #set( $container = 'docker:containerId}') |
| Attributes may be accessed by adding |
| ``` |
| $D$container |
| ``` |
| to the configuration. Note that docker variables are only resolved once during logging initializaton so they |
| shouldn't be referenced with more than one '$' character. |
| |
| $h2 Requirements |
| Log4j Docker requires Log4j Core, Log4j API and a minimum of Java 8. |
| For more information, see [Runtime Dependencies](../runtime-dependencies.html). |