This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch main-site-stg-out in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/main-site-stg-out by this push: new 4f04c3c8db Add website content generated from `dac0ba84fa787f5a01b3faa20fb355448ec42ddc` 4f04c3c8db is described below commit 4f04c3c8db83e60faf338e105e0f650fd487d8dd Author: ASF Logging Services RM <priv...@logging.apache.org> AuthorDate: Wed May 22 18:15:34 2024 +0000 Add website content generated from `dac0ba84fa787f5a01b3faa20fb355448ec42ddc` --- 5min.html | 2 +- articles.html | 2 +- development.html | 2 +- download.html | 2 +- faq.html | 2 +- getting-started/index.html | 2 +- index.html | 2 +- javadoc.html | 2 +- log4j-1.2-api.html | 2 +- log4j-api.html | 2 +- log4j-docker.html | 2 +- log4j-flume-ng.html | 2 +- log4j-iostreams.html | 2 +- log4j-jpl.html | 2 +- log4j-jul.html | 2 +- log4j-mongodb.html | 2 +- log4j-slf4j-impl.html | 2 +- log4j-slf4j2-impl.html | 2 +- log4j-spring-cloud-config-client.html | 2 +- log4j-to-jul.html | 2 +- log4j-to-slf4j.html | 2 +- manual/api-separation.html | 2 +- manual/api.html | 2 +- manual/appenders.html | 2 +- manual/architecture.html | 2 +- manual/async.html | 2 +- manual/cloud.html | 2 +- manual/compatibility.html | 2 +- manual/configuration.html | 2 +- manual/customconfig.html | 2 +- manual/customloglevels.html | 2 +- manual/dependencyinjection.html | 2 +- manual/eventlogging.html | 361 ++++++++++++++++++++++++++-------- manual/extending.html | 2 +- manual/filters.html | 2 +- manual/flowtracing.html | 2 +- manual/garbagefree.html | 2 +- manual/index.html | 2 +- manual/installation.html | 2 +- manual/jmx.html | 2 +- manual/json-template-layout.html | 2 +- manual/layouts.html | 2 +- manual/log4j1-compat.html | 2 +- manual/logbuilder.html | 2 +- manual/logsep.html | 2 +- manual/lookups.html | 2 +- manual/markers.html | 2 +- manual/messages.html | 2 +- manual/migration.html | 2 +- manual/performance.html | 2 +- manual/plugins.html | 2 +- manual/resource-logger.html | 2 +- manual/scoped-context.html | 2 +- manual/systemproperties.html | 2 +- manual/thread-context.html | 2 +- manual/usage.html | 2 +- plugin-reference.html | 11 +- release-notes.html | 2 +- runtime-dependencies.html | 2 +- sitemap.xml | 120 +++++------ thanks.html | 2 +- 61 files changed, 405 insertions(+), 203 deletions(-) diff --git a/5min.html b/5min.html index e96c0194d3..c60bd323c5 100644 --- a/5min.html +++ b/5min.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/articles.html b/articles.html index b1b9cf2831..7cf08302a8 100644 --- a/articles.html +++ b/articles.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/development.html b/development.html index 0b21bbd967..2e63558614 100644 --- a/development.html +++ b/development.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/download.html b/download.html index feee95e4bc..c9f00b38ed 100644 --- a/download.html +++ b/download.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/faq.html b/faq.html index e755ef7ddd..ea19bac9bd 100644 --- a/faq.html +++ b/faq.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/getting-started/index.html b/getting-started/index.html index 0dde5c922f..3afe4e162c 100644 --- a/getting-started/index.html +++ b/getting-started/index.html @@ -127,7 +127,7 @@ <a class="nav-link" href="../manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="../manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="../manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../manual/messages.html">Messages</a> diff --git a/index.html b/index.html index b75093b799..d1d65fb12a 100644 --- a/index.html +++ b/index.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/javadoc.html b/javadoc.html index 73d085b230..324037b7d7 100644 --- a/javadoc.html +++ b/javadoc.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-1.2-api.html b/log4j-1.2-api.html index e0808b5f2b..e05163e282 100644 --- a/log4j-1.2-api.html +++ b/log4j-1.2-api.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-api.html b/log4j-api.html index c4a9eb7578..5dfe7e4df7 100644 --- a/log4j-api.html +++ b/log4j-api.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-docker.html b/log4j-docker.html index 54ebbe13c5..b6fd0e00cc 100644 --- a/log4j-docker.html +++ b/log4j-docker.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-flume-ng.html b/log4j-flume-ng.html index fcce7666d2..803eed70ce 100644 --- a/log4j-flume-ng.html +++ b/log4j-flume-ng.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-iostreams.html b/log4j-iostreams.html index b0f25083a6..36a2bd3a5e 100644 --- a/log4j-iostreams.html +++ b/log4j-iostreams.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-jpl.html b/log4j-jpl.html index 843ce96f9f..22ffeec785 100644 --- a/log4j-jpl.html +++ b/log4j-jpl.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-jul.html b/log4j-jul.html index 9d5e8b8133..adeed6ac31 100644 --- a/log4j-jul.html +++ b/log4j-jul.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-mongodb.html b/log4j-mongodb.html index 3d6e3a695d..41146ced2f 100644 --- a/log4j-mongodb.html +++ b/log4j-mongodb.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-slf4j-impl.html b/log4j-slf4j-impl.html index 48860c14a9..be71c139f8 100644 --- a/log4j-slf4j-impl.html +++ b/log4j-slf4j-impl.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-slf4j2-impl.html b/log4j-slf4j2-impl.html index 7f8afcb455..0cc5190088 100644 --- a/log4j-slf4j2-impl.html +++ b/log4j-slf4j2-impl.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-spring-cloud-config-client.html b/log4j-spring-cloud-config-client.html index 27f8432414..baa908785a 100644 --- a/log4j-spring-cloud-config-client.html +++ b/log4j-spring-cloud-config-client.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-to-jul.html b/log4j-to-jul.html index dd0f146666..7c68f89aaf 100644 --- a/log4j-to-jul.html +++ b/log4j-to-jul.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/log4j-to-slf4j.html b/log4j-to-slf4j.html index f7ae63d478..bc53d4033d 100644 --- a/log4j-to-slf4j.html +++ b/log4j-to-slf4j.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/manual/api-separation.html b/manual/api-separation.html index e63bef6261..c016135628 100644 --- a/manual/api-separation.html +++ b/manual/api-separation.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/api.html b/manual/api.html index 730d800076..ce4527171e 100644 --- a/manual/api.html +++ b/manual/api.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/appenders.html b/manual/appenders.html index 078592a333..1b4f6a2107 100644 --- a/manual/appenders.html +++ b/manual/appenders.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/architecture.html b/manual/architecture.html index f83cb541a7..c7e45f4539 100644 --- a/manual/architecture.html +++ b/manual/architecture.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/async.html b/manual/async.html index 6d7971b661..6e23d0041a 100644 --- a/manual/async.html +++ b/manual/async.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/cloud.html b/manual/cloud.html index 0fa371ed77..2c15492da3 100644 --- a/manual/cloud.html +++ b/manual/cloud.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/compatibility.html b/manual/compatibility.html index 1232ca261a..d5ffe8682b 100644 --- a/manual/compatibility.html +++ b/manual/compatibility.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/configuration.html b/manual/configuration.html index eb48090f6a..83b61136e0 100644 --- a/manual/configuration.html +++ b/manual/configuration.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/customconfig.html b/manual/customconfig.html index c474848060..5a903734fb 100644 --- a/manual/customconfig.html +++ b/manual/customconfig.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/customloglevels.html b/manual/customloglevels.html index 8646898f70..a3fa41979c 100644 --- a/manual/customloglevels.html +++ b/manual/customloglevels.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/dependencyinjection.html b/manual/dependencyinjection.html index aa6440e49e..f74d5b0801 100644 --- a/manual/dependencyinjection.html +++ b/manual/dependencyinjection.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/eventlogging.html b/manual/eventlogging.html index fb43005b4b..7e74a20c16 100644 --- a/manual/eventlogging.html +++ b/manual/eventlogging.html @@ -3,7 +3,7 @@ <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> - <title>Event Logging :: Apache Log4j</title> + <title>Event Logging with Log4j :: Apache Log4j</title> <link rel="canonical" href="https://logging.apache.org/log4j/3.x/manual/eventlogging.html"> <meta name="generator" content="Antora 3.2.0-alpha.4"> <link rel="stylesheet" href="../_/css/site.css"> @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item is-current-page" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> @@ -292,7 +292,7 @@ <li><a href="../index.html">Home</a></li> <li><a href="index.html">Manual</a></li> <li><a href="api.html">Log4j API</a></li> - <li><a href="eventlogging.html">Event Logging</a></li> + <li><a href="eventlogging.html">Event Logging with Log4j</a></li> </ul> </nav> <div class="edit-this-page"><a href="https://github.com/apache/logging-log4j2/edit/main/src/site/antora/modules/ROOT/pages/manual/eventlogging.adoc">Edit this Page</a></div> @@ -302,40 +302,193 @@ <div class="toc-menu"></div> </aside> <article class="doc"> -<h1 class="page">Event Logging</h1> +<h1 class="page">Event Logging with Log4j</h1> +<div id="preamble"> +<div class="sectionbody"> <div class="paragraph"> -<p>The <code>EventLogger</code> class provides a simple mechanism for logging events -that occur in an application. While the <code>EventLogger</code> is useful as a way -of initiating events that should be processed by an audit Logging -system, by itself it does not implement any of the features an audit -logging system would require such as guaranteed delivery.</p> +<p>The <code>EventLogger</code> class provides a mechanism for logging significant events +in an application using structured data. This approach is beneficial for +tracking user actions, monitoring system behavior, and debugging issues.</p> </div> <div class="paragraph"> -<p>The recommended way of using the <code>EventLogger</code> in a typical web -application is to populate the <code>ThreadContext</code> Map with data that is -related to the entire lifespan of the request such as the user’s id, the -user’s IP address, the product name, etc. This can easily be done in a -servlet filter where the <code>ThreadContext</code> Map can also be cleared at the -end of the request. When an event that needs to be recorded occurs a -<code>StructuredDataMessage</code> should be created and populated. Then call -<code>EventLogger.logEvent(msg)</code> where msg is a reference to the -<code>StructuredDataMessage</code>.</p> +<p>Theoretically, every <code>Logger</code> can be used to perform this kind of action; +however, the <code>EventLogger</code> class provides a shortcut to log events with structured data +since it allows for a static method to log events.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_advantages_of_structured_logging"><a class="anchor" href="#_advantages_of_structured_logging"></a>Advantages of Structured Logging</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Structured logging means events Log4j records events with detailed and structured information. +That way, logs are easier to read and process. They provide better context and +are also more consistent than plain text logs.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_integration_with_syslog"><a class="anchor" href="#_integration_with_syslog"></a>Integration with Syslog</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Log4j complies with Syslogs RFC5424 standard. +This feature allows for easy integration with existing log management and monitoring systems.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_example_configuration"><a class="anchor" href="#_example_configuration"></a>Example Configuration</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To configure Log4j to output logs in Syslog (RFC5424) format, one needs to use the <a href="../javadoc/log4j-core/org/apache/logging/log4j/core/layout/StructuredDataLayout.html"><code>StructuredDataLayout</code></a> layout. +Developers can use the following configuration to log events to a local Syslog server:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml"><Appenders> + <Syslog name="Syslog" host="localhost" port="514"> <i class="conum" data-value="1"></i><b>(1)</b> + <StructuredDataLayout complete="true" /> <i class="conum" data-value="2"></i><b>(2)</b> + </Syslog> +</Appenders> + +<Loggers> + <Logger name="MyApp" level="info" additivity="false"> + <AppenderRef ref="Syslog"/> + </Logger> +</Loggers></code></pre> +</div> +</div> +<div class="colist arabic"> +<table> +<tr> +<td><i class="conum" data-value="1"></i><b>1</b></td> +<td>The <code>Syslog</code> appender sends logs to a local Syslog server.</td> +</tr> +<tr> +<td><i class="conum" data-value="2"></i><b>2</b></td> +<td>The <code>StructuredDataLayout</code> layout formats logs in RFC5424 format.</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>Of course, sending logs to a Syslog server is unnecessary. +Developers can use the <code>StructuredDataLayout</code> layout with any other appender, such as <code>FileAppender</code> or <code>ConsoleAppender</code>.</p> +</div> +<div class="paragraph"> +<p>As an example, the output could look like this:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code class="language-text hljs" data-lang="text"><165>1 2024-05-16T12:34:56.789Z myapp MyApp - ID47 [transfer@12345 toAccount="123456" fromAccount="654321" amount="1000"] User 654321 has transferred 1000 to account 123456</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_using_the_eventlogger"><a class="anchor" href="#_using_the_eventlogger"></a>Using the <code>EventLogger</code></h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>EventLogger</code> class provides a simple way to log structured events. +It uses the <code>StructuredDataMessage</code> class to create structured log messages.</p> +</div> +<div class="paragraph"> +<p>Assume a simple application that performs funds transfers between accounts. +This application should send a certain amount of funds from one account to another and log the event.</p> +</div> +<div class="paragraph"> +<p>The account class is defined as follows, with a unique ID and a balance:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">class Account { + private String id; + private long balance; + // Getters and setters omitted for brevity +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>The <code>transfer()</code> method transfers funds between two accounts and logs the event. +It needs to take two accounts and the amount to transfer as parameters.</p> +</div> +<div class="paragraph"> +<p>Apart from the key-value pairs provided in the map of the <code>StructuredDataMessage,</code> +the <code>StructuredDataMessage</code> also takes a unique ID, a free-form message, and a type as parameters.</p> +</div> +<div class="paragraph"> +<p>The free-form message is a human-readable description of the event. +This message is good for operators who need to understand the event quickly, +but not so much for automated processing.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">public static String transferFunds(Account toAccount, Account fromAccount, long amount) { + toAccount.deposit(amount); + fromAccount.withdraw(amount); + + // Create a unique ID for the transaction + String confirm = UUID.randomUUID().toString(); + + String freeFormMessage = "User " + fromAccount.getId() + " has transferred " + amount + " to account " + toAccount.getId(); <i class="conum" data-value="1"></i><b>(1)</b> + + // Create the StructuredDataMessage + StructuredDataMessage msg = new StructuredDataMessage(confirm, freeFormMessage, "transfer"); <i class="conum" data-value="2"></i><b>(2)</b> + msg.put("toAccount", toAccount.getId()); <i class="conum" data-value="3"></i><b>(3)</b> + msg.put("fromAccount", fromAccount.getId()); + msg.put("amount", amount); + + // Log the event + EventLogger.logEvent(msg); <i class="conum" data-value="4"></i><b>(4)</b> + + return confirm; +}</code></pre> +</div> +</div> +<div class="colist arabic"> +<table> +<tr> +<td><i class="conum" data-value="1"></i><b>1</b></td> +<td>The free-form message is a human-readable description of the event.</td> +</tr> +<tr> +<td><i class="conum" data-value="2"></i><b>2</b></td> +<td>The <code>StructuredDataMessage</code> constructor takes an ID, the free-form message, and a type.</td> +</tr> +<tr> +<td><i class="conum" data-value="3"></i><b>3</b></td> +<td>Developers can add key-value pairs to the message.</td> +</tr> +<tr> +<td><i class="conum" data-value="4"></i><b>4</b></td> +<td>The <code>EventLogger</code> logs the event.</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>That way, the <code>transferFunds()</code> method logs the event with structured data +by using the <code>EventLogger</code>.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_web_application_example"><a class="anchor" href="#_web_application_example"></a>Web Application Example</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>In a web application, developers can use a servlet filter to populate the +<code>ThreadContext</code> map with data related to the request.</p> +</div> +<div class="paragraph"> +<p>The following example demonstrates how a <code>Filter</code> could investigate the request +and populate the <code>ThreadContext</code> map with data such as the user’s IP address, +the user’s login ID, the server’s hostname, the product name, the locale, and the timezone.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">import org.apache.logging.log4j.ThreadContext; import org.apache.commons.lang.time.DateUtils; -import javax.servlet.Filter; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.FilterChain; -import javax.servlet.http.HttpSession; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletResponse; +import javax.servlet.*; +import javax.servlet.http.*; import java.io.IOException; import java.util.TimeZone; @@ -343,9 +496,7 @@ public class RequestFilter implements Filter { private FilterConfig filterConfig; private static String TZ_NAME = "timezoneOffset"; - public void init(FilterConfig filterConfig) throws ServletException { - this.filterConfig = filterConfig; - } + // Other methods ommitted for brevity /** * Sample filter that populates the MDC on every request. @@ -353,80 +504,136 @@ public class RequestFilter implements Filter { public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest)servletRequest; - HttpServletResponse response = (HttpServletResponse)servletResponse; - ThreadContext.put("ipAddress", request.getRemoteAddr()); + + ThreadContext.put("ipAddress", request.getRemoteAddr()); <i class="conum" data-value="1"></i><b>(1)</b> + HttpSession session = request.getSession(false); - TimeZone timeZone = null; if (session != null) { - // Something should set this after authentication completes - String loginId = (String)session.getAttribute("LoginId"); + // Assuming, an authentication filter has already populated the loginId in the session + String loginId = (String)session.getAttribute("loginId"); if (loginId != null) { ThreadContext.put("loginId", loginId); } - // This assumes there is some javascript on the user's page to create the cookie. - if (session.getAttribute(TZ_NAME) == null) { - if (request.getCookies() != null) { - for (Cookie cookie : request.getCookies()) { - if (TZ_NAME.equals(cookie.getName())) { - int tzOffsetMinutes = Integer.parseInt(cookie.getValue()); - timeZone = TimeZone.getTimeZone("GMT"); - timeZone.setRawOffset((int)(tzOffsetMinutes * DateUtils.MILLIS_PER_MINUTE)); - request.getSession().setAttribute(TZ_NAME, tzOffsetMinutes); - cookie.setMaxAge(0); - response.addCookie(cookie); - } - } - } - } } + ThreadContext.put("hostname", servletRequest.getServerName()); ThreadContext.put("productName", filterConfig.getInitParameter("ProductName")); ThreadContext.put("locale", servletRequest.getLocale().getDisplayName()); - if (timeZone == null) { - timeZone = TimeZone.getDefault(); - } - ThreadContext.put("timezone", timeZone.getDisplayName()); + ThreadContext.put("timezone", TimeZone.getDefault().getDisplayName()); + filterChain.doFilter(servletRequest, servletResponse); ThreadContext.clear(); } - - public void destroy() { - } }</code></pre> </div> </div> +<div class="colist arabic"> +<table> +<tr> +<td><i class="conum" data-value="1"></i><b>1</b></td> +<td>The <code>doFilter()</code> method populates the <code>ThreadContext</code> map with data related to the request.</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>The <code>Filter</code> needs to be registered in your <code>web.xml</code> file:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml"><filter> + <filter-name>RequestFilter</filter-name> + <filter-class>com.example.RequestFilter</filter-class> + <init-param> + <param-name>ProductName</param-name> + <param-value>YourProductName</param-value> + </init-param> +</filter> +<filter-mapping> + <filter-name>RequestFilter</filter-name> + <url-pattern>/*</url-pattern> <i class="conum" data-value="1"></i><b>(1)</b> +</filter-mapping></code></pre> +</div> +</div> +<div class="colist arabic"> +<table> +<tr> +<td><i class="conum" data-value="1"></i><b>1</b></td> +<td>The <code>RequestFilter</code> is mapped to all requests.</td> +</tr> +</table> +</div> <div class="paragraph"> -<p>Sample class that uses <code>EventLogger</code>.</p> +<p>Eventually, a <code>Servlet</code> or any other related class, such as a Spring Controller, can be used to log events with structured data. +The following example uses a <code>Servlet</code> to call the <code>EventLogger</code> and log a user action.</p> </div> <div class="listingblock"> <div class="content"> -<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">import org.apache.logging.log4j.StructuredDataMessage; -import org.apache.logging.log4j.EventLogger; +<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">import javax.servlet.*; +import javax.servlet.http.*; +import java.io.IOException; -import java.util.Date; -import java.util.UUID; +public class UserActionServlet extends HttpServlet { -public class MyApp { + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + String userId = request.getParameter("userId"); + String action = request.getParameter("action"); + String details = request.getParameter("details"); - public String doFundsTransfer(Account toAccount, Account fromAccount, long amount) { - toAccount.deposit(amount); - fromAccount.withdraw(amount); - String confirm = UUID.randomUUID().toString(); - StructuredDataMessage msg = new StructuredDataMessage(confirm, null, "transfer"); - msg.put("toAccount", toAccount); - msg.put("fromAccount", fromAccount); - msg.put("amount", amount); + // Perform and log the user action + String message = "User " + userId + " performed action: " + action; + StructuredDataMessage msg = new StructuredDataMessage(UUID.randomUUID().toString(), message, "userAction"); <i class="conum" data-value="1"></i><b>(1)</b> + msg.put("userId", userId); + msg.put("action", action); + msg.put("details", details); + + // Log the event EventLogger.logEvent(msg); - return confirm; + + // Respond to the client + response.getWriter().write("Action logged successfully"); } }</code></pre> </div> </div> +<div class="colist arabic"> +<table> +<tr> +<td><i class="conum" data-value="1"></i><b>1</b></td> +<td><code>userAction</code> is the name of the current transaction</td> +</tr> +</table> +</div> <div class="paragraph"> -<p>The <code>EventLogger</code> class uses a <code>Logger</code> named "EventLogger". <code>EventLogger</code> -uses a logging level of OFF as the default to indicate that it cannot be -filtered. These events can be formatted for printing using the -<a href="../javadoc/log4j-core/org/apache/logging/log4j/core/layout/StructuredDataLayout.html"><code>StructuredDataLayout</code></a>.</p> +<p>That way, not only the data provided to the <code>EventLogger</code> is used, but also all the +data populated in the <code>ThreadContext</code> map is included in the log message.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_benefits_of_structured_logging"><a class="anchor" href="#_benefits_of_structured_logging"></a>Benefits of Structured Logging</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p><strong>Improved Readability and Context:</strong> +Structured logs include detailed information, making them easier to understand and analyze.</p> +</li> +<li> +<p><strong>Better for Automated Processing:</strong> +Structured logs are easily parsed by existing log management tools.</p> +</li> +<li> +<p><strong>Consistency:</strong> +Structured logging enforces a consistent format, helping to identify patterns in logs.</p> +</li> +<li> +<p><strong>Performance Optimization:</strong> +Structured messages are - as all messages - only constructed when necessary, keeping overhead low.</p> +</li> +</ol> +</div> +</div> </div> </article> </div> diff --git a/manual/extending.html b/manual/extending.html index faec8bd4a4..8978f4d25b 100644 --- a/manual/extending.html +++ b/manual/extending.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/filters.html b/manual/filters.html index 7b3702eb17..1f1362351e 100644 --- a/manual/filters.html +++ b/manual/filters.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/flowtracing.html b/manual/flowtracing.html index 8941acbe59..56e408174c 100644 --- a/manual/flowtracing.html +++ b/manual/flowtracing.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/garbagefree.html b/manual/garbagefree.html index 4bced44660..63fa55f9a9 100644 --- a/manual/garbagefree.html +++ b/manual/garbagefree.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/index.html b/manual/index.html index 8ac0f09ddd..62a6fb3fdc 100644 --- a/manual/index.html +++ b/manual/index.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/installation.html b/manual/installation.html index 037f924670..2492aa2d90 100644 --- a/manual/installation.html +++ b/manual/installation.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/jmx.html b/manual/jmx.html index 2cf67bf8d4..05a3bb9b11 100644 --- a/manual/jmx.html +++ b/manual/jmx.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/json-template-layout.html b/manual/json-template-layout.html index 4dc8aada74..735ec93ba0 100644 --- a/manual/json-template-layout.html +++ b/manual/json-template-layout.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/layouts.html b/manual/layouts.html index 90646b4c9d..62d8993f87 100644 --- a/manual/layouts.html +++ b/manual/layouts.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/log4j1-compat.html b/manual/log4j1-compat.html index 84d620c84f..54abbde81b 100644 --- a/manual/log4j1-compat.html +++ b/manual/log4j1-compat.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/logbuilder.html b/manual/logbuilder.html index 34967cb229..1b4dd6a83a 100644 --- a/manual/logbuilder.html +++ b/manual/logbuilder.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/logsep.html b/manual/logsep.html index fecd1e81ed..d15e18320e 100644 --- a/manual/logsep.html +++ b/manual/logsep.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/lookups.html b/manual/lookups.html index a85b003666..626d1ee50b 100644 --- a/manual/lookups.html +++ b/manual/lookups.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/markers.html b/manual/markers.html index c1f68b9023..d81c1d1261 100644 --- a/manual/markers.html +++ b/manual/markers.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/messages.html b/manual/messages.html index 06b17ff64a..7783196d41 100644 --- a/manual/messages.html +++ b/manual/messages.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item is-current-page" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/migration.html b/manual/migration.html index 862763ad28..1ac132d6bd 100644 --- a/manual/migration.html +++ b/manual/migration.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/performance.html b/manual/performance.html index 8c38a7c2f6..ffb8926016 100644 --- a/manual/performance.html +++ b/manual/performance.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/plugins.html b/manual/plugins.html index ffbc4c3550..1a7a2031e6 100644 --- a/manual/plugins.html +++ b/manual/plugins.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/resource-logger.html b/manual/resource-logger.html index ca217c2ceb..8b91044db1 100644 --- a/manual/resource-logger.html +++ b/manual/resource-logger.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/scoped-context.html b/manual/scoped-context.html index 8df29ecb74..05588a01ca 100644 --- a/manual/scoped-context.html +++ b/manual/scoped-context.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/systemproperties.html b/manual/systemproperties.html index ea5b8b16a0..c0b2dd4233 100644 --- a/manual/systemproperties.html +++ b/manual/systemproperties.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/thread-context.html b/manual/thread-context.html index f800f98d4b..7d8b4aae80 100644 --- a/manual/thread-context.html +++ b/manual/thread-context.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/manual/usage.html b/manual/usage.html index 38ac36897e..f01d1b7fc9 100644 --- a/manual/usage.html +++ b/manual/usage.html @@ -127,7 +127,7 @@ <a class="nav-link" href="markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="eventlogging.html">Event Logging</a> + <a class="nav-link" href="eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="messages.html">Messages</a> diff --git a/plugin-reference.html b/plugin-reference.html index 61e1238074..51a5c817cd 100644 --- a/plugin-reference.html +++ b/plugin-reference.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> @@ -1428,7 +1428,7 @@ Originally developed by Ceki Glc and Anders Kristensen.</p> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>header</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>boolean?</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String?</code></p></td> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"><div class="content"></div></td> </tr> @@ -3895,12 +3895,7 @@ This attribute is ignored if <code>immediateFlush</code> is set to <code>true</c <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Property</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="#org-apache-logging-log4j_log4j-core_org-apache-logging-log4j-core-config-Property">Property</a>?</code></p></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>A generic list of key/value properties</p> -</div> -<div class="paragraph"> -<p>The meaning of these properties depends on the component.</p> -</div></div></td> +<td class="tableblock halign-left valign-top"><div class="content"></div></td> </tr> <tr> <td class="tableblock halign-left valign-top"></td> diff --git a/release-notes.html b/release-notes.html index 009562eb22..4bf3da4786 100644 --- a/release-notes.html +++ b/release-notes.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/runtime-dependencies.html b/runtime-dependencies.html index ba547b8072..b953c924ca 100644 --- a/runtime-dependencies.html +++ b/runtime-dependencies.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a> diff --git a/sitemap.xml b/sitemap.xml index a9fadce78e..9dac3fff0e 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,242 +2,242 @@ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://logging.apache.org/log4j/3.x/5min.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/articles.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/development.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/download.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/faq.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/getting-started/index.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/index.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/javadoc.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-1.2-api.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-api.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-docker.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-flume-ng.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-iostreams.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-jpl.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-jul.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-mongodb.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-slf4j-impl.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-slf4j2-impl.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-spring-cloud-config-client.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-to-jul.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/log4j-to-slf4j.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/api-separation.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/api.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/appenders.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/architecture.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/async.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/cloud.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/compatibility.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/configuration.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/customconfig.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/customloglevels.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/dependencyinjection.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/eventlogging.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/extending.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/filters.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/flowtracing.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/garbagefree.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/index.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/installation.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/jmx.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/json-template-layout.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/layouts.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/log4j1-compat.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/logbuilder.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/logsep.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/lookups.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/markers.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/messages.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/migration.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/performance.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/plugins.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/resource-logger.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/scoped-context.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/systemproperties.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/thread-context.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/manual/usage.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/plugin-reference.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/release-notes.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/runtime-dependencies.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/3.x/thanks.html</loc> -<lastmod>2024-05-22T18:10:10.556Z</lastmod> +<lastmod>2024-05-22T18:15:08.941Z</lastmod> </url> </urlset> diff --git a/thanks.html b/thanks.html index 3bb13836e6..af8f15b1f1 100644 --- a/thanks.html +++ b/thanks.html @@ -127,7 +127,7 @@ <a class="nav-link" href="manual/markers.html">Markers</a> </li> <li class="nav-item" data-depth="2"> - <a class="nav-link" href="manual/eventlogging.html">Event Logging</a> + <a class="nav-link" href="manual/eventlogging.html">Event Logging with Log4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="manual/messages.html">Messages</a>