This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/2.x by this push:
     new 12299512ce Update lookup documentation (#1681)
12299512ce is described below

commit 12299512ce79c3e9d1b5a72762882fe6099d88c3
Author: Yakov Shafranovich <[email protected]>
AuthorDate: Wed Aug 16 16:21:36 2023 -0400

    Update lookup documentation (#1681)
    
    Co-authored-by: Yakov Shafranovich <[email protected]>
---
 src/site/xdoc/manual/configuration.xml.vm | 119 ++++++++++++++++++++++++++----
 src/site/xdoc/manual/lookups.xml          |  17 ++++-
 2 files changed, 119 insertions(+), 17 deletions(-)

diff --git a/src/site/xdoc/manual/configuration.xml.vm 
b/src/site/xdoc/manual/configuration.xml.vm
index 8253b31917..309417013a 100644
--- a/src/site/xdoc/manual/configuration.xml.vm
+++ b/src/site/xdoc/manual/configuration.xml.vm
@@ -1243,14 +1243,6 @@ rootLogger = info, STDOUT
                 <th>Prefix</th>
                 <th>Context</th>
               </tr>
-              <tr>
-                <td>base64</td>
-                <td>
-                  Base64 encoded data. The format is 
<code>${dollar}{base64:Base64_encoded_data}</code>.
-                  For example:
-                  <code>${dollar}{base64:SGVsbG8gV29ybGQhCg==}</code> yields 
<code>Hello World!</code>.
-                </td>
-              </tr>
               <tr>
                 <td>bundle</td>
                 <td>
@@ -1261,26 +1253,73 @@ rootLogger = info, STDOUT
               </tr>
               <tr>
                 <td>ctx</td>
-                <td>Thread Context Map (MDC)</td>
+                <td>
+                  Retrieves a previously stored valued from the Thread Context 
Map (MDC).
+                  The format is <code>${dollar}{ctx:some.key}</code>.
+              </td>
               </tr>
               <tr>
                 <td>date</td>
-                <td>Inserts the current date and/or time using the specified 
format</td>
+                <td>
+                  Inserts the current date and/or time using the specified 
format pattern from the
+                  <a 
href="https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html";>SimpleDateFormat</a>
 class.
+                  If no pattern is specified, then the default pattern is used.
+                  The formats are <code>${dollar}{date:some.pattern}</code> 
and <code>${dollar}{date:}</code>.
+                </td>
+              </tr>
+              <tr>
+                <td>docker</td>
+                <td>
+                  Returns attributes from the Docker container the application 
is running in.
+                  The format is <code>${dollar}{docker:some.attribute}</code>.
+                  See <a href="../log4j-docker.html">Docker documentation</a> 
for requirements and a list of available attributes.
+                </td>
               </tr>
               <tr>
                 <td>env</td>
-                <td>System environment variables. The formats are 
<code>${dollar}{env:ENV_NAME}</code> and 
<code>${dollar}{env:ENV_NAME:-default_value}</code>.</td>
+                <td>
+                  Retrieves values from system environment variables or 
default value if the environment variable is not set.
+                  The formats are <code>${dollar}{env:ENV_NAME}</code> and 
<code>${dollar}{env:ENV_NAME:-default_value}</code>.
+                </td>
+              </tr>
+              <tr>
+                <td>event</td>
+                <td>
+                  Retrieves values from fields within the log event. The 
format is <code>${dollar}{event:some.field}</code>.
+                  See the <a href="lookups.html#eventlookup">Lookups</a> 
manual page for a list of available fields.
+                </td>
+              </tr>
+              <tr>
+                <td>java</td>
+                <td>
+                  Retrieves information about the Java environment the 
application is running in.
+                  The format is <code>${dollar}{java:some.property}</code>.
+                  See the <a href="lookups.html#java-lookup">Lookups</a> 
manual page for a list of available properties.
+                </td>
               </tr>
               <tr>
                 <td>jndi</td>
-                <td>A value set in the default JNDI Context. (Requires system 
property <code>log4j2.enableJndiLookup</code> to be set to 
<code>true</code>.)</td>
+                <td>
+                   A value set in the default JNDI Context. (Requires system 
property <code>log4j2.enableJndiLookup</code> to be set to <code>true</code>.)
+                   The format is 
<code>${dollar}{jndi:logging/context-name}</code>.
+                </td>
               </tr>
               <tr>
                 <td>jvmrunargs</td>
                 <td>
                   A JVM input argument accessed through JMX, but not a main 
argument;
                   see <a class="javadoc" 
href="https://docs.oracle.com/javase/6/docs/api/java/lang/management/RuntimeMXBean.html#getInputArguments--";>RuntimeMXBean.getInputArguments()</a>.
-                  Not available on Android.</td>
+                  The format is <code>${dollar}{jvmrunargs:argument}</code>.
+                  Not available on Android or Google App Engine.
+                </td>
+              </tr>
+              <tr>
+                <td>k8s</td>
+                <td>
+                  Returns attributes from the Kubernetes environment the 
application is running in.
+                  The format is <code>${dollar}{k8s:some.attribute}</code>.
+                  See the <a href="lookups.html#kubernetes-lookup">Lookups</a> 
manual page for a list of available attributes.
+                </td>
               </tr>
               <tr>
                 <td>log4j</td>
@@ -1288,13 +1327,35 @@ rootLogger = info, STDOUT
                   <code>${dollar}{log4j:configParentLocation}</code> 
respectively provide the absolute path
                   to the log4j configuration file and its parent folder.</td>
               </tr>
+              <tr>
+                <td>lower</td>
+                <td>
+                    Converts the passed in argument to lower case (usually 
used with nested lookups).
+                    The format is <code>${dollar}{lower:argument}</code>.
+                </td>
+              </tr>
               <tr>
                 <td>main</td>
-                <td>A value set with <a class="javadoc" 
href="../log4j-core/apidocs/org/apache/logging/log4j/core/lookup/MapLookup.html#setMainArguments-java.lang.String:A-">MapLookup.setMainArguments(String[])</a></td>
+                <td>
+                    A value set with <a class="javadoc" 
href="../log4j-core/apidocs/org/apache/logging/log4j/core/lookup/MapLookup.html#setMainArguments-java.lang.String:A-">MapLookup.setMainArguments(String[])</a>.
+                    The formats are <code>${dollar}{main:index}</code> for a 
0-based index into the argument list and 
<code>${dollar}{main:argument.name}</code> for name from the argument list.
+                </td>
               </tr>
               <tr>
                 <td>map</td>
-                <td>A value from a MapMessage</td>
+                <td>
+                    Provides a base for Properties in the configuration file 
or retrieves a value from a MapMessage.
+                    The format is <code>${dollar}{map:type}</code>.
+                    See the <a href="lookups.html#map-lookup">Lookups</a> 
manual page for further details.
+                </td>
+              </tr>
+              <tr>
+                <td>marker</td>
+                <td>
+                    Allows use of markers in configurations.
+                    The formats are <code>${dollar}{marker:}</code> and 
<code>${dollar}{marker:some.name}</code>.
+                    See the <a href="lookups.html#marker-lookup">Lookups</a> 
manual page for further details.
+                </td>
               </tr>
               <tr>
                 <td>sd</td>
@@ -1302,9 +1363,35 @@ rootLogger = info, STDOUT
                   without the enterprise number. The key "type" will return 
the message type. Other keys will
                   retrieve individual elements from the Map.</td>
               </tr>
+              <tr>
+                <td>spring</td>
+                <td>
+                  Returns values of Spring properties from the Spring 
configuration.
+                  The format is <code>${dollar}{spring:some.property}</code>.
+                  See the <a 
href="lookups.html#spring-boot-lookup">Lookups</a> manual page for requirements 
and details.
+                </td>
+              </tr>
               <tr>
                 <td>sys</td>
-                <td>System properties. The formats are 
<code>${dollar}{sys:some.property}</code> and 
<code>${dollar}{sys:some.property:-default_value}</code>.</td>
+                <td>
+                  Retrieves values from system properties.
+                  The formats are <code>${dollar}{sys:some.property}</code> 
and <code>${dollar}{sys:some.property:-default_value}</code>.
+                </td>
+              </tr>
+              <tr>
+                <td>upper</td>
+                <td>
+                    Converts the passed in argument to upper case (usually 
used with nested lookups).
+                    The format is <code>${dollar}{upper:argument}</code>.
+                </td>
+              </tr>
+              <tr>
+                <td>web</td>
+                <td>
+                  Returns values of variables associated with the Servlet 
Context.
+                  The format is <code>${dollar}{spring:some.key}</code>.
+                  See the <a href="lookups.html#web-lookup">Lookups</a> manual 
page for a list of available keys.
+                </td>
               </tr>
             </table>
           <a name="DefaultProperties"/><h3>Default Properties</h3><p>
diff --git a/src/site/xdoc/manual/lookups.xml b/src/site/xdoc/manual/lookups.xml
index e3b7dabb53..ddad0c34f8 100644
--- a/src/site/xdoc/manual/lookups.xml
+++ b/src/site/xdoc/manual/lookups.xml
@@ -88,7 +88,7 @@
   <KeyValuePair key="imageName" value="${docker:imageName}"/>
 </JsonLayout>]]></pre>
           <p>
-            This Lookup is subject to the requirements listed at <a 
href="../log4j-docker/index.html">Log4j Docker Support</a>
+            This Lookup is subject to the requirements listed at <a 
href="../log4j-docker.html">Log4j Docker Support</a>
           </p>
         </subsection>
         <a name="EnvironmentLookup"/>
@@ -583,6 +583,21 @@ logger.info(PERFORMANCE, "Message in 
Performance.log");]]></pre>
             the name, otherwise <code>null</code>.
           </p>
         </subsection>
+        <a name="ResourceBundleLookup"/>
+        <subsection name="Resource Bundle Lookup">
+          <p>
+            The resource bundle lookup retrieves values from Resource Bundles
+            (see <a 
href="https://docs.oracle.com/javase/6/docs/api/java/util/ResourceBundle.html";>Java
 documentation</a>). The format is
+            <code>${dollar}{bundle:BundleName:BundleKey}</code>. The bundle 
name follows package naming conventions, for example:
+            <code>${dollar}{bundle:com.domain.Messages:MyKey}</code>.
+          </p>
+          <pre class="prettyprint linenums"><![CDATA[
+<File name="Application" 
fileName="application-${spring:profiles.active[0]}.log">
+  <PatternLayout>
+    <pattern>%d %p %c{1.} [%t] $${bundle:MyBundle:MyKey} %m%n</pattern>
+  </PatternLayout>
+</File>]]></pre>
+        </subsection>
         <a name="SpringLookup"/>
         <subsection name="Spring Boot Lookup">
           <p>

Reply via email to