(logging-log4cxx) branch telnet_appender updated (684b7db4 -> d45367da)
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a change to branch telnet_appender in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git from 684b7db4 Simplify header add d45367da Simplify header No new revisions were added by this update. Summary of changes: src/test/cpp/net/telnetappendertestcase.cpp | 1 + 1 file changed, 1 insertion(+)
(logging-log4cxx) branch telnet_appender updated (7e01058e -> 684b7db4)
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a change to branch telnet_appender in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git from 7e01058e Remove detritus add 684b7db4 Simplify header No new revisions were added by this update. Summary of changes: src/main/cpp/telnetappender.cpp | 3 +++ src/main/include/log4cxx/net/telnetappender.h | 4 2 files changed, 3 insertions(+), 4 deletions(-)
(logging-log4cxx) branch telnet_appender updated (e52bdfa8 -> 7e01058e)
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a change to branch telnet_appender in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git from e52bdfa8 Add to list of provided appenders add 7e01058e Remove detritus No new revisions were added by this update. Summary of changes: src/main/cpp/telnetappender.cpp | 3 +++ src/main/include/log4cxx/net/telnetappender.h | 10 ++ 2 files changed, 5 insertions(+), 8 deletions(-)
(logging-log4cxx) branch telnet_appender updated (59e83487 -> e52bdfa8)
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a change to branch telnet_appender in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git from 59e83487 Ensure a single thread will be used to accept connections add e52bdfa8 Add to list of provided appenders No new revisions were added by this update. Summary of changes: src/site/markdown/concepts.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
(logging-log4cxx) branch telnet_appender updated (cf946bcb -> 59e83487)
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a change to branch telnet_appender in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git from cf946bcb Remove confusing reference to a server add 59e83487 Ensure a single thread will be used to accept connections No new revisions were added by this update. Summary of changes: src/main/cpp/telnetappender.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
(logging-log4cxx) branch telnet_appender updated (ec01bddf -> cf946bcb)
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a change to branch telnet_appender in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git from ec01bddf Correct spelling and grammar add cf946bcb Remove confusing reference to a server No new revisions were added by this update. Summary of changes: src/main/include/log4cxx/net/telnetappender.h | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-)
(logging-log4cxx) branch telnet_appender updated (dc9233f0 -> ec01bddf)
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a change to branch telnet_appender in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git from dc9233f0 Add support for maximium connection testing add ec01bddf Correct spelling and grammar No new revisions were added by this update. Summary of changes: src/main/include/log4cxx/net/telnetappender.h | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-)
(logging-log4cxx) branch telnet_appender updated (1c5d98a8 -> dc9233f0)
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a change to branch telnet_appender in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git from 1c5d98a8 Update documentation add dc9233f0 Add support for maximium connection testing No new revisions were added by this update. Summary of changes: src/test/cpp/net/telnetappendertestcase.cpp | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-)
(logging-log4j-samples) branch dependabot/maven/org.jetbrains.kotlin-kotlin-bom-1.9.24 deleted (was 848d206)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/maven/org.jetbrains.kotlin-kotlin-bom-1.9.24 in repository https://gitbox.apache.org/repos/asf/logging-log4j-samples.git was 848d206 Update `org.jetbrains.kotlin:kotlin-bom` to version `1.9.24` (#134) The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
(logging-log4j-samples) branch dependabot/maven/org.jetbrains.kotlin-kotlin-bom-1.9.24 updated (fb64c29 -> 848d206)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/maven/org.jetbrains.kotlin-kotlin-bom-1.9.24 in repository https://gitbox.apache.org/repos/asf/logging-log4j-samples.git discard fb64c29 Bump org.jetbrains.kotlin:kotlin-bom from 1.9.23 to 1.9.24 add 848d206 Update `org.jetbrains.kotlin:kotlin-bom` to version `1.9.24` (#134) This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (fb64c29) \ N -- N -- N refs/heads/dependabot/maven/org.jetbrains.kotlin-kotlin-bom-1.9.24 (848d206) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes:
(logging-log4j-samples) branch main updated (2bf2b1e -> 848d206)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/logging-log4j-samples.git from 2bf2b1e Update `com.fasterxml.jackson:jackson-bom` to version `2.17.1` (#133) add 848d206 Update `org.jetbrains.kotlin:kotlin-bom` to version `1.9.24` (#134) No new revisions were added by this update. Summary of changes: pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
(logging-log4j-samples) branch dependabot/maven/org.jetbrains.kotlin-kotlin-bom-1.9.24 created (now fb64c29)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/maven/org.jetbrains.kotlin-kotlin-bom-1.9.24 in repository https://gitbox.apache.org/repos/asf/logging-log4j-samples.git at fb64c29 Bump org.jetbrains.kotlin:kotlin-bom from 1.9.23 to 1.9.24 No new revisions were added by this update.
(logging-log4cxx) branch telnet_appender updated (b3aba390 -> 1c5d98a8)
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a change to branch telnet_appender in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git from b3aba390 Prevent abnormal termination when telnet appender has no layout add 1c5d98a8 Update documentation No new revisions were added by this update. Summary of changes: src/main/cpp/telnetappender.cpp | 5 src/main/include/log4cxx/net/telnetappender.h | 38 +-- 2 files changed, 17 insertions(+), 26 deletions(-)
(logging-log4cxx) 01/01: Prevent abnormal termination when telnet appender has no layout
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a commit to branch telnet_appender in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git commit b3aba3904bd943241e5676af7092d8e956804800 Author: Stephen Webb AuthorDate: Wed May 8 09:40:19 2024 +1000 Prevent abnormal termination when telnet appender has no layout --- src/main/cpp/telnetappender.cpp | 19 ++- src/main/include/log4cxx/net/telnetappender.h | 15 +++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/main/cpp/telnetappender.cpp b/src/main/cpp/telnetappender.cpp index 349ad672..cdb4ff51 100644 --- a/src/main/cpp/telnetappender.cpp +++ b/src/main/cpp/telnetappender.cpp @@ -117,6 +117,10 @@ void TelnetAppender::setOption(const LogString& option, { setPort(OptionConverter::toInt(value, DEFAULT_PORT)); } + else if (StringHelper::equalsIgnoreCase(option, LOG4CXX_STR("MAXCONNECTIONS"), LOG4CXX_STR("maxconnections"))) + { + setMaxConnections(OptionConverter::toInt(value, MAX_CONNECTIONS)); + } else if (StringHelper::equalsIgnoreCase(option, LOG4CXX_STR("ENCODING"), LOG4CXX_STR("encoding"))) { setEncoding(value); @@ -203,7 +207,10 @@ void TelnetAppender::append(const spi::LoggingEventPtr& event, Pool& p) if (count > 0) { LogString msg; - _priv->layout->format(msg, event, _priv->pool); + if (_priv->layout) + _priv->layout->format(msg, event, p); + else + msg = event->getMessage(); msg.append(LOG4CXX_STR("\r\n")); size_t bytesSize = msg.size() * 2; char* bytes = p.pstralloc(bytesSize); @@ -318,3 +325,13 @@ void TelnetAppender::setPort(int port1) { _priv->port = port1; } + +int TelnetAppender::getMaxConnections() const +{ + return static_cast(_priv->connections.size()); +} + +void TelnetAppender::setMaxConnections(int newValue) +{ + _priv->connections.resize(newValue); +} diff --git a/src/main/include/log4cxx/net/telnetappender.h b/src/main/include/log4cxx/net/telnetappender.h index 1c18b532..7232277e 100644 --- a/src/main/include/log4cxx/net/telnetappender.h +++ b/src/main/include/log4cxx/net/telnetappender.h @@ -115,6 +115,7 @@ class LOG4CXX_EXPORT TelnetAppender : public AppenderSkeleton Supported options | Supported values | Default value -- | | --- Port | {int} | 23 + MaxConnections | {int} | 20 Encoding | C,UTF-8,UTF-16,UTF-16BE,UTF-16LE,646,US-ASCII,ISO646-US,ANSI_X3.4-1968,ISO-8859-1,ISO-LATIN-1 | UTF-8 \sa AppenderSkeleton::setOption() @@ -132,6 +133,20 @@ class LOG4CXX_EXPORT TelnetAppender : public AppenderSkeleton */ void setPort(int port1); + /** + The number of allowed concurrent conections. + + \sa setOption +*/ + int getMaxConnections() const; + + /** + Set the number of allowed concurrent conections to \c newValue. + + \sa setOption +*/ + void setMaxConnections(int newValue); + /** shuts down the appender. */ void close() override;
(logging-log4cxx) branch telnet_appender created (now b3aba390)
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a change to branch telnet_appender in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git at b3aba390 Prevent abnormal termination when telnet appender has no layout This branch includes the following new commits: new b3aba390 Prevent abnormal termination when telnet appender has no layout The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
(logging-log4cxx) branch stop_threads_with_at_exit_events deleted (was ea3ba996)
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a change to branch stop_threads_with_at_exit_events in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git was ea3ba996 Add a basic telnetappender test The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
(logging-log4cxx) branch master updated: Join background threads when LOG4CXX_EVENTS_AT_EXIT=on (#381)
This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git The following commit(s) were added to refs/heads/master by this push: new 16ff766b Join background threads when LOG4CXX_EVENTS_AT_EXIT=on (#381) 16ff766b is described below commit 16ff766bafcdc255a01b09ff52962c5118e4c42d Author: Stephen Webb AuthorDate: Wed May 8 09:15:58 2024 +1000 Join background threads when LOG4CXX_EVENTS_AT_EXIT=on (#381) --- src/main/cpp/asyncappender.cpp | 40 ++ src/main/cpp/filewatchdog.cpp | 33 +--- src/main/cpp/socketappenderskeleton.cpp| 31 ++- src/main/cpp/telnetappender.cpp| 62 -- .../log4cxx/private/socketappenderskeleton_priv.h | 31 --- src/test/cpp/net/telnetappendertestcase.cpp| 20 ++- src/test/cpp/terminationtestcase.cpp | 2 + 7 files changed, 137 insertions(+), 82 deletions(-) diff --git a/src/main/cpp/asyncappender.cpp b/src/main/cpp/asyncappender.cpp index 95f5ece2..59c37640 100644 --- a/src/main/cpp/asyncappender.cpp +++ b/src/main/cpp/asyncappender.cpp @@ -124,7 +124,7 @@ struct AsyncAppender::AsyncAppenderPriv : public AppenderSkeleton::AppenderSkele locationInfo(false), blocking(true) #if LOG4CXX_EVENTS_AT_EXIT - , atExitRegistryRaii([this]{atExitActivated();}) + , atExitRegistryRaii([this]{stopDispatcher();}) #endif , eventCount(0) , dispatchedCount(0) @@ -132,16 +132,6 @@ struct AsyncAppender::AsyncAppenderPriv : public AppenderSkeleton::AppenderSkele { } -#if LOG4CXX_EVENTS_AT_EXIT - void atExitActivated() - { - std::unique_lock lock(bufferMutex); - bufferNotFull.wait(lock, [this]() -> bool - { return buffer.empty() || closed; } - ); - } -#endif - /** * Event buffer. */ @@ -180,6 +170,21 @@ struct AsyncAppender::AsyncAppenderPriv : public AppenderSkeleton::AppenderSkele */ std::thread dispatcher; + void stopDispatcher() + { + { + std::lock_guard lock(bufferMutex); + closed = true; + } + bufferNotEmpty.notify_all(); + bufferNotFull.notify_all(); + + if (dispatcher.joinable()) + { + dispatcher.join(); + } + } + /** * Should location info be included in dispatched messages. */ @@ -350,18 +355,7 @@ void AsyncAppender::append(const spi::LoggingEventPtr& event, Pool& p) void AsyncAppender::close() { - { - std::lock_guard lock(priv->bufferMutex); - priv->closed = true; - priv->bufferNotEmpty.notify_all(); - priv->bufferNotFull.notify_all(); - } - - if ( priv->dispatcher.joinable() ) - { - priv->dispatcher.join(); - } - + priv->stopDispatcher(); for (auto item : priv->appenders.getAllAppenders()) { item->close(); diff --git a/src/main/cpp/filewatchdog.cpp b/src/main/cpp/filewatchdog.cpp index 742423b5..df949c15 100644 --- a/src/main/cpp/filewatchdog.cpp +++ b/src/main/cpp/filewatchdog.cpp @@ -25,6 +25,10 @@ #include #include +#if LOG4CXX_EVENTS_AT_EXIT +#include +#endif + using namespace LOG4CXX_NS; using namespace LOG4CXX_NS::helpers; @@ -33,8 +37,11 @@ long FileWatchdog::DEFAULT_DELAY = 6; struct FileWatchdog::FileWatchdogPrivate{ FileWatchdogPrivate(const File& file1) : file(file1), delay(DEFAULT_DELAY), lastModif(0), - warnedAlready(false), interrupted(0), thread(){} - + warnedAlready(false), interrupted(0), thread() +#if LOG4CXX_EVENTS_AT_EXIT + , atExitRegistryRaii([this]{stopWatcher();}) +#endif +{} /** The name of the file to observe for changes. */ @@ -51,6 +58,21 @@ struct FileWatchdog::FileWatchdogPrivate{ std::thread thread; std::condition_variable interrupt; std::mutex interrupt_mutex; + +#if LOG4CXX_EVENTS_AT_EXIT + helpers::AtExitRegistry::Raii atExitRegistryRaii; +#endif + + void stopWatcher() + { +{ +std::lock_guard lock(interrupt_mutex); +interrupted = 0x; +} +interrupt.notify_all(); +if (thread.joinable()) +thread.join(); + } }; FileWatchdog::FileWatchdog(const File& file1) @@ -73,12 +95,7 @@ bool FileWatchdog::is_active() void FileWatchdog::stop() { LogLog::debug(LOG4CXX_STR("Stopping file watchdog")); - { - std::lock_guard
(logging-log4j2) branch 2.x-site-stg-out updated: Add website content generated from `69169e6176f83b7c199639c5635816ead4ce9a7a`
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch 2.x-site-stg-out in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git The following commit(s) were added to refs/heads/2.x-site-stg-out by this push: new c500e4f736 Add website content generated from `69169e6176f83b7c199639c5635816ead4ce9a7a` c500e4f736 is described below commit c500e4f73698e74e45c769b7aacda8b41bae68a2 Author: ASF Logging Services RM AuthorDate: Tue May 7 20:02:05 2024 + Add website content generated from `69169e6176f83b7c199639c5635816ead4ce9a7a` --- 5min.html | 84 + articles.html | 2 +- development.html | 2 +- download.html | 2 +- faq.html | 2 +- index.html| 4 +- javadoc.html | 2 +- log4j-1.2-api.html| 2 +- log4j-api.html| 2 +- log4j-appserver.html | 2 +- log4j-cassandra.html | 2 +- log4j-couchdb.html| 2 +- log4j-docker.html | 2 +- log4j-flume-ng.html | 2 +- log4j-iostreams.html | 2 +- log4j-jakarta-web.html| 2 +- log4j-jcl.html| 2 +- log4j-jmx-gui.html| 2 +- log4j-jpl.html| 2 +- log4j-jul.html| 2 +- log4j-mongodb3.html | 2 +- log4j-mongodb4.html | 2 +- log4j-slf4j-impl.html | 2 +- log4j-slf4j2-impl.html| 2 +- log4j-spring-boot.html| 2 +- log4j-spring-cloud-config-client.html | 2 +- log4j-spring-cloud-config.html| 2 +- log4j-taglib.html | 2 +- log4j-to-jul.html | 2 +- log4j-to-slf4j.html | 2 +- log4j-web.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/eventlogging.html | 2 +- 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/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/thread-context.html| 2 +- manual/usage.html | 2 +- manual/webapp.html| 2 +- plugin-reference.html | 4 +- release-notes.html| 2 +- runtime-dependencies.html | 2 +- sitemap.xml | 136 +- thanks.html | 2 +- 69 files changed, 208 insertions(+), 150 deletions(-) diff --git a/5min.html b/5min.html index 87a622fbe7..8f265fffd0 100644 --- a/5min.html +++ b/5min.html @@ -3,7 +3,7 @@ -Learn Log4j in 5 minutes! :: Apache Log4j +Log4j explained in 5 minutes :: Apache Log4j https://logging.apache.org/log4j/2.x/5min.html;> @@ -93,7 +93,7 @@ F.A.Q. -Learn Log4j in 5 minutes! +Log4j explained in 5 minutes Development @@ -291,7 +291,7 @@ Home Resources -Learn Log4j in 5 minutes! +Log4j explained in 5 minutes https://github.com/apache/logging-log4j2/edit/2.x/src/site/antora/modules/ROOT/pages/5min.adoc;>Edit this Page @@ -301,35 +301,94 @@ -Learn Log4j in 5 minutes! +Log4j explained in 5 minutes -Do you need a crash course on Log4j? -You have come to the right place! +This document aims to guide you through the most important aspects of logging with Log4j. +It is not a comprehensive guide, but it should
(logging-log4j2) branch 2.x-site-stg-out updated: Add `.asf.yaml` along with an INFRA fix for the website content generated from `69169e6176f83b7c199639c5635816ead4ce9a7a`
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch 2.x-site-stg-out in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git The following commit(s) were added to refs/heads/2.x-site-stg-out by this push: new ea3b70f55d Add `.asf.yaml` along with an INFRA fix for the website content generated from `69169e6176f83b7c199639c5635816ead4ce9a7a` ea3b70f55d is described below commit ea3b70f55d5dabec581a57e211862833219d4250 Author: ASF Logging Services RM AuthorDate: Tue May 7 20:02:06 2024 + Add `.asf.yaml` along with an INFRA fix for the website content generated from `69169e6176f83b7c199639c5635816ead4ce9a7a` --- .asf.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index 7466536304..e5afab7173 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -9,6 +9,6 @@ staging: # # Random values to cause a change: # -# - Seed: 31828 -# - Commit ID: a0c2e8d7a288e8fd79ce2eba66462a03adf36811 -# - Timestamp: 2024-05-07T19:25:40Z +# - Seed: 7284 +# - Commit ID: 69169e6176f83b7c199639c5635816ead4ce9a7a +# - Timestamp: 2024-05-07T20:02:06Z
(logging-log4j2) branch 2.x updated: explaining snippets before the snippet, simpler wording
This is an automated email from the ASF dual-hosted git repository. grobmeier 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 69169e6176 explaining snippets before the snippet, simpler wording 69169e6176 is described below commit 69169e6176f83b7c199639c5635816ead4ce9a7a Author: Christian Grobmeier AuthorDate: Tue May 7 21:55:02 2024 +0200 explaining snippets before the snippet, simpler wording --- src/site/antora/modules/ROOT/pages/5min.adoc | 58 ++-- 1 file changed, 47 insertions(+), 11 deletions(-) diff --git a/src/site/antora/modules/ROOT/pages/5min.adoc b/src/site/antora/modules/ROOT/pages/5min.adoc index b1ba8140a9..388eb29c72 100644 --- a/src/site/antora/modules/ROOT/pages/5min.adoc +++ b/src/site/antora/modules/ROOT/pages/5min.adoc @@ -15,36 +15,72 @@ limitations under the License. -= Learn Log4j in 5 minutes! += Log4j explained in 5 minutes -Do you need a crash course on Log4j? -You have come to the right place! +This document aims to guide you through the most important aspects of logging with Log4j. +It is not a comprehensive guide, but it should give you a good starting point. If you are looking for a more detailed read, please see {logging-services-url}/what-is-logging.html[What is logging?]. [#what] -== What is logging and Log4j? +== What is logging? -Logging is the action of publishing diagnostics information at certain points of a program execution: +Logging is the action of publishing diagnostics information at certain points of a program execution. +It means you can write messages to a log file or console to help you understand what your application is doing. -[source,java] +The simplest way to log in Java is to use `System.out.println()`, like this: + +[source, java] + +private void truncateTable(String tableName) { + System.out.println("Truncating table"); <1> + db.truncate(tableName); +} + +<1> The information that a table is being truncated is written to the console. + +This is already useful, but the reader of this message does not know what table is being truncated. +Usually, we would like to include the table name in the message, which quickly leads +developers to use the `System.out.format` (or similar) methods. +Log4j helps with formatting strings as we will see later, but for now, let's see how to work without it. + +The following code shows how this method could be used to provide more context information. +`%s` will be replaced with the value of `tableName`, and `%n` will be replaced with a new line. + +[source, java] private void truncateTable(String tableName) { -System.out.format("[WARN] Truncating table `%s`!%n", tableName); +System.out.format("[WARN] Truncating table `%s`%n", tableName); <1> db.truncate(tableName); } +<1> `format` writes the message to the console, replacing `%s` with the value of `tableName`. + +If the developer decides the truncate the table "fruits", the output of this code will look like this: + +[source] + +[WARN] Truncating table `fruits` + + +This provides observability into an application's runtime and we can follow the execution flow. + +However, there are several drawbacks with the above approach and this is where Log4j comes in. +Log4j will help you to write logs in a more structured way, with more information, and with more flexibility. + +[#why] +== Why should I use Log4j? -This provides observability into an application's runtime. +Log4j is a versatile, industrial-grade Java logging framework, maintained by many contributors. +It can help us with common logging tasks and lets us focus on the application logic. -But we can do way better than a `printf()` statement! +It will: * Enhance the message with additional information (timestamp, class & method name, line number, host, severity, etc.) * Write the message differently, using a different **layout** (CSV, JSON, etc.) * Write the message to a different medium, using a different **appender** (file, socket, database, queue, etc.) * Write only some of the messages, using a **filter** (e.g. filter by severity, content, etc.) -Log4j is a versatile, industrial-grade Java logging framework delivering all these and more in one product. -It is essentially composed of a **logging API** and its **implementation**: +Log4j is essentially composed of a **logging API** and its **implementation**: Log4j API:: The logging API your code (programmatically) logs through.
(logging-log4j2) branch 2.x-site-stg-out updated: Add `.asf.yaml` along with an INFRA fix for the website content generated from `a0c2e8d7a288e8fd79ce2eba66462a03adf36811`
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch 2.x-site-stg-out in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git The following commit(s) were added to refs/heads/2.x-site-stg-out by this push: new 19bb3d7519 Add `.asf.yaml` along with an INFRA fix for the website content generated from `a0c2e8d7a288e8fd79ce2eba66462a03adf36811` 19bb3d7519 is described below commit 19bb3d75197623240d3b3f5fa1320a90295c939b Author: ASF Logging Services RM AuthorDate: Tue May 7 19:25:40 2024 + Add `.asf.yaml` along with an INFRA fix for the website content generated from `a0c2e8d7a288e8fd79ce2eba66462a03adf36811` --- .asf.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index b3f3522ab9..7466536304 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -9,6 +9,6 @@ staging: # # Random values to cause a change: # -# - Seed: 2408 -# - Commit ID: 85c61ca6e1ecce697697dbc3f62745f4d0e03d03 -# - Timestamp: 2024-05-07T19:03:48Z +# - Seed: 31828 +# - Commit ID: a0c2e8d7a288e8fd79ce2eba66462a03adf36811 +# - Timestamp: 2024-05-07T19:25:40Z
(logging-log4j2) branch 2.x-site-stg-out updated: Add website content generated from `a0c2e8d7a288e8fd79ce2eba66462a03adf36811`
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch 2.x-site-stg-out in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git The following commit(s) were added to refs/heads/2.x-site-stg-out by this push: new 868b38ebfc Add website content generated from `a0c2e8d7a288e8fd79ce2eba66462a03adf36811` 868b38ebfc is described below commit 868b38ebfc1b7546748b7c4e7c46d27e6615347e Author: ASF Logging Services RM AuthorDate: Tue May 7 19:25:40 2024 + Add website content generated from `a0c2e8d7a288e8fd79ce2eba66462a03adf36811` --- 5min.html | 29 +-- plugin-reference.html | 12 ++--- sitemap.xml | 136 +- 3 files changed, 89 insertions(+), 88 deletions(-) diff --git a/5min.html b/5min.html index 08ad16e6b6..87a622fbe7 100644 --- a/5min.html +++ b/5min.html @@ -305,8 +305,9 @@ -You need a crash course on Log4j? -You are at the right place! +Do you need a crash course on Log4j? +You have come to the right place! +If you are looking for a more detailed read, please see https://logging.apache.org/what-is-logging.html;>What is logging?. @@ -325,7 +326,7 @@ You are at the right place! -This provides observability into an applications runtime. (See https://logging.apache.org/what-is-logging.html;>What is logging? page for a longer read.) +This provides observability into an applications runtime. But we can do way better than a printf() statement! @@ -336,7 +337,7 @@ You are at the right place! Enhance the message with additional information (timestamp, class method name, line number, host, severity, etc.) -Write the message in a different way, using a different layout (CSV, JSON, etc.) +Write the message differently, using a different layout (CSV, JSON, etc.) Write the message to a different medium, using a different appender (file, socket, database, queue, etc.) @@ -347,7 +348,7 @@ You are at the right place! -Log4j is versatile, industrial-grade Java logging framework delivering all these and more in one product. +Log4j is a versatile, industrial-grade Java logging framework delivering all these and more in one product. It is essentially composed of a logging API and its implementation: @@ -359,7 +360,7 @@ This needs to be available at compile-time and no configuration is needed. Log4j Core -The logging implementation which is responsible for filtering, routing, encoding, and appending log events. +The logging implementation is responsible for filtering, routing, encoding, and appending log events. This needs to be available at runtime and configured by the user. @@ -367,7 +368,7 @@ This needs to be available at runtime and configured by the user. -How do I log using Log4j? +How do I write logs using Log4j? Add the log4j-api dependency to your application: @@ -523,7 +524,7 @@ Lets try to walk through the most common ones. Dont call Throwable#printStackTrace()! -This not only circumvents the logging, but can also leak sensitive information! +This not only circumvents the logging but can also leak sensitive information! /* BAD! */ exception.printStackTrace(); @@ -542,7 +543,7 @@ This prevents the log event from getting enriched with the exception. Dont provide both Throwable#getMessage() and Throwable itself! -This bloats the log message with duplicate exception message. +This bloats the log message with a duplicate exception message. /* BAD! */ LOGGER.info("failed for user ID `{}`: {}", userId, exception.getMessage(), exception); @@ -572,7 +573,7 @@ This bloats the log message with duplicate exception message. Dont use String concatenation to format arguments! This circumvents the handling of arguments by message type and layout. More importantly, this approach is prone to attacks! -Imagine userId being provided by user with the following content: +Imagine userId being provided by the user with the following content: placeholders for non-existing args to trigger failure: {} {} {dangerousLookup} @@ -737,7 +738,7 @@ Save the following XML document to src/main/resources/log 1 -Appenders are responsible for writing log events to console, file, socket, database, etc. +Appenders are responsible for writing log events to the console, file, socket, database, etc. 2 @@ -749,11 +750,11 @@ Save the following XML document to src/main/resources/log 4 -Log events generated by classes in the com.mycompany package (incl. its subpackages) and that are of level INFO and higher (i.e., WARN, ERROR, FATAL) will be consumed. +Log events generated by classes in the com.mycompany package (incl. its sub packages) and that are of level INFO and higher (i.e., WARN, ERROR, FATAL) will be consumed. 5 -Unless specified otherwise, log events of level WARN and and higher will be consumed. +Unless specified otherwise, log events of
(logging-site) branch asf-site updated (aa8a8d77 -> bf9401be)
This is an automated email from the ASF dual-hosted git repository. vy pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/logging-site.git from aa8a8d77 Automatic Site Publish by Buildbot add bf9401be Automatic Site Publish by Buildbot No new revisions were added by this update. Summary of changes: content/feed.xml | 2 +- content/xml/ns/log4j-config-2.23.1.xsd | 64 ++ 2 files changed, 34 insertions(+), 32 deletions(-)
(logging-site) branch asf-staging updated: Automatic Site Publish by Buildbot
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-staging in repository https://gitbox.apache.org/repos/asf/logging-site.git The following commit(s) were added to refs/heads/asf-staging by this push: new bf9401be Automatic Site Publish by Buildbot bf9401be is described below commit bf9401bea7ace3fcd4ac4ecc1c17f298143406bc Author: buildbot AuthorDate: Tue May 7 19:22:30 2024 + Automatic Site Publish by Buildbot --- content/feed.xml | 2 +- content/xml/ns/log4j-config-2.23.1.xsd | 64 ++ 2 files changed, 34 insertions(+), 32 deletions(-) diff --git a/content/feed.xml b/content/feed.xml index db0c6306..9fef6c25 100644 --- a/content/feed.xml +++ b/content/feed.xml @@ -1,4 +1,4 @@ -http://www.w3.org/2005/Atom; >https://jekyllrb.com/; version="4.2.2">Jekyll2024-04-30T13:26:28+00:00/feed.xmlApache Software Foundation - Logging ServicesWrite an awesome description for your new site here. You can edit this line in _ [...] +http://www.w3.org/2005/Atom; >https://jekyllrb.com/; version="4.2.2">Jekyll2024-05-07T19:22:29+00:00/feed.xmlApache Software Foundation - Logging ServicesWrite an awesome description for your new site here. You can edit this line in _ [...] Today, December 17, 2023 marks a significant milestone for the Apache Logging Services project, as we celebrate 20 years since the inception of Log4j 1. diff --git a/content/xml/ns/log4j-config-2.23.1.xsd b/content/xml/ns/log4j-config-2.23.1.xsd index 2f5ca312..1262a252 100644 --- a/content/xml/ns/log4j-config-2.23.1.xsd +++ b/content/xml/ns/log4j-config-2.23.1.xsd @@ -1,4 +1,4 @@ -http://www.w3.org/2001/XMLSchema; xmlns:log4j="https://logging.apache.org/xml/ns; elementFormDefault="qualified" targetNamespace="https://logging.apache.org/xml/ns; version="2.23.1">http://www.w3.org/2001/XMLSchema; xmlns:log4j="https://logging.apache.org/xml/ns; elementFormDefault="qualified" targetNamespace="https://logging.apache.org/xml/ns; version="2.24.0-SNAPSHOT">Special level that disables logging. No events should be logged at this level.A fatal event that will prevent the application from continuingAn error in the application, possibly recoverableAn event that might possible lead to an errorA Filter (optional).If `"true"` (default) exceptions encountered when appending events are logged; otherwise t [...] +Hopefully it is obvious that the Appenders must be configured to not suppress exceptions for the FailoverAppender to work.A Filter (optional).If `"true"` (default) exceptions encountered when appending events are logged; otherwise t [...] Use for compatibility with version 1.2 and handy for composing a apiref:org.apache.logging.log4j.core.appender.ScriptAppenderSelector[].Appends log events to a given output stream using a layout. @@ -75,9 +75,11 @@ Defaults to .Host name of SMTP server to send messages through.Password to authenticate with SMTP server.Port number of SMTP server to send messages through. [...] -Defaults to "smtp".Username to authenticate with SMTP server.Subject template for the email messages.Comma-separated list of recipient email addresses.< [...] +Defaults to "smtp".Username to authenticate with SMTP server.Subject template for the email messages.Comma-separated list of recipient email addresses.< [...] -Supports both TCP and UDP.The Syslog Appender.The Syslog Appender. [...] All database appenders should inherit from this base appender.< [...] @@ -122,7 +124,7 @@ Requires the JeroMQ jar (LGPL as of 0.3.5)Sets the provider.Sets the provider.Name of the configurationNumber of seconds between polls for configuration changesTimeout in milliseconds of the logger context shut downSets the level of the status loggerTimeout in milliseconds of the logger context shut downSets the level of the status loggerConverts a apiref:java.lang.String[] into a apiref:java.lang.Byte[].Converts a apiref:java.lang.String[] into a `char[]`.Converts a apiref:java.lang.String[] into a apiref:java.lang.Long[].Converts a apiref:java.lang.String[] into [...] +Returns `null` for invalid level names.Converts a apiref:java.lang.String[] into a apiref:java.lang.Long[].Converts a apiref:java.lang.String[] into [...] Filters can be either context wide or attached to an appender. A filter may choose to support being called only from the context or only from an appender in which case it will only implement the required method(s). The rest will default to return apiref:org.apache.logging.log4j.core.filter.org.apache.logging.log4j.core.Filter.Result#NEUTRAL[]. -Garbage-free note: the methods with unrolled varargs by default delegate to the apiref:org.apache.logging.log4j.core.filter.AbstractFilter#filter(Logger, Level, Marker, String, Object...)[filter method with vararg parameters]. Subclasses that want to be garbage-free should override these methods
(logging-site) branch main updated: Re-generate `log4j-config-2.23.1.xsd` with plugin subclass fix (apache/logging-log4j-tools#117)
This is an automated email from the ASF dual-hosted git repository. vy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/logging-site.git The following commit(s) were added to refs/heads/main by this push: new 0bf2cd44 Re-generate `log4j-config-2.23.1.xsd` with plugin subclass fix (apache/logging-log4j-tools#117) 0bf2cd44 is described below commit 0bf2cd44f9850709413f8403f0c0084b297d62f8 Author: Volkan Yazıcı AuthorDate: Tue May 7 21:21:55 2024 +0200 Re-generate `log4j-config-2.23.1.xsd` with plugin subclass fix (apache/logging-log4j-tools#117) --- xml/ns/log4j-config-2.23.1.xsd | 64 ++ 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/xml/ns/log4j-config-2.23.1.xsd b/xml/ns/log4j-config-2.23.1.xsd index 2f5ca312..1262a252 100644 --- a/xml/ns/log4j-config-2.23.1.xsd +++ b/xml/ns/log4j-config-2.23.1.xsd @@ -1,4 +1,4 @@ -http://www.w3.org/2001/XMLSchema; xmlns:log4j="https://logging.apache.org/xml/ns; elementFormDefault="qualified" targetNamespace="https://logging.apache.org/xml/ns; version="2.23.1">http://www.w3.org/2001/XMLSchema; xmlns:log4j="https://logging.apache.org/xml/ns; elementFormDefault="qualified" targetNamespace="https://logging.apache.org/xml/ns; version="2.24.0-SNAPSHOT">Special level that disables logging. No events should be logged at this level.A fatal event that will prevent the application from continuingAn error in the application, possibly recoverableAn event that might possible lead to an errorA Filter (optional).If `"true"` (default) exceptions encountered when appending events are logged; otherwise t [...] +Hopefully it is obvious that the Appenders must be configured to not suppress exceptions for the FailoverAppender to work.A Filter (optional).If `"true"` (default) exceptions encountered when appending events are logged; otherwise t [...] Use for compatibility with version 1.2 and handy for composing a apiref:org.apache.logging.log4j.core.appender.ScriptAppenderSelector[].Appends log events to a given output stream using a layout. @@ -75,9 +75,11 @@ Defaults to .Host name of SMTP server to send messages through.Password to authenticate with SMTP server.Port number of SMTP server to send messages through. [...] -Defaults to "smtp".Username to authenticate with SMTP server.Subject template for the email messages.Comma-separated list of recipient email addresses.< [...] +Defaults to "smtp".Username to authenticate with SMTP server.Subject template for the email messages.Comma-separated list of recipient email addresses.< [...] -Supports both TCP and UDP.The Syslog Appender.The Syslog Appender. [...] All database appenders should inherit from this base appender.< [...] @@ -122,7 +124,7 @@ Requires the JeroMQ jar (LGPL as of 0.3.5)Sets the provider.Sets the provider.Name of the configurationNumber of seconds between polls for configuration changesTimeout in milliseconds of the logger context shut downSets the level of the status loggerTimeout in milliseconds of the logger context shut downSets the level of the status loggerConverts a apiref:java.lang.String[] into a apiref:java.lang.Byte[].Converts a apiref:java.lang.String[] into a `char[]`.Converts a apiref:java.lang.String[] into a apiref:java.lang.Long[].Converts a apiref:java.lang.String[] into [...] +Returns `null` for invalid level names.Converts a apiref:java.lang.String[] into a apiref:java.lang.Long[].Converts a apiref:java.lang.String[] into [...] Filters can be either context wide or attached to an appender. A filter may choose to support being called only from the context or only from an appender in which case it will only implement the required method(s). The rest will default to return apiref:org.apache.logging.log4j.core.filter.org.apache.logging.log4j.core.Filter.Result#NEUTRAL[]. -Garbage-free note: the methods with unrolled varargs by default delegate to the apiref:org.apache.logging.log4j.core.filter.AbstractFilter#filter(Logger, Level, Marker, String, Object...)[filter method with vararg parameters]. Subclasses that want to be garbage-free should override these methods to implement the appropriate filtering without creating a vararg array.An array [...] -Extends apiref:org.apache.logging.log4j.core.LifeCycle[] since filters have a life cycle.Sets the Result to return when the filter does not match. @@ -268,7 +270,7 @@ The default values for apiref:org.apache.logging.log4j.core.filter.LevelRangeFil The default values for apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMatch[] and apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMismatch[] are set to apiref:org.apache.logging.log4j.core.filter.Result#NEUTRAL[] and apiref:org.apache.logging.log4j.core.filter.Result#DENY[], respectively. The levels get compared by their associated integral values;
(logging-log4j2) branch 2.x updated: minor corrections/improvements
This is an automated email from the ASF dual-hosted git repository. grobmeier 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 a0c2e8d7a2 minor corrections/improvements a0c2e8d7a2 is described below commit a0c2e8d7a288e8fd79ce2eba66462a03adf36811 Author: Christian Grobmeier AuthorDate: Tue May 7 21:18:55 2024 +0200 minor corrections/improvements --- src/site/antora/modules/ROOT/pages/5min.adoc | 29 ++-- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/site/antora/modules/ROOT/pages/5min.adoc b/src/site/antora/modules/ROOT/pages/5min.adoc index 967aa09e20..b1ba8140a9 100644 --- a/src/site/antora/modules/ROOT/pages/5min.adoc +++ b/src/site/antora/modules/ROOT/pages/5min.adoc @@ -17,8 +17,9 @@ = Learn Log4j in 5 minutes! -You need a crash course on Log4j? -You are at the right place! +Do you need a crash course on Log4j? +You have come to the right place! +If you are looking for a more detailed read, please see {logging-services-url}/what-is-logging.html[What is logging?]. [#what] == What is logging and Log4j? @@ -33,16 +34,16 @@ private void truncateTable(String tableName) { } -This provides observability into an application's runtime. (See {logging-services-url}/what-is-logging.html[What is logging?] page for a longer read.) +This provides observability into an application's runtime. But we can do way better than a `printf()` statement! * Enhance the message with additional information (timestamp, class & method name, line number, host, severity, etc.) -* Write the message in a different way, using a different **layout** (CSV, JSON, etc.) +* Write the message differently, using a different **layout** (CSV, JSON, etc.) * Write the message to a different medium, using a different **appender** (file, socket, database, queue, etc.) * Write only some of the messages, using a **filter** (e.g. filter by severity, content, etc.) -Log4j is versatile, industrial-grade Java logging framework delivering all these and more in one product. +Log4j is a versatile, industrial-grade Java logging framework delivering all these and more in one product. It is essentially composed of a **logging API** and its **implementation**: Log4j API:: @@ -50,11 +51,11 @@ The logging API your code (programmatically) logs through. This needs to be available at compile-time and no configuration is needed. Log4j Core:: -The logging implementation which is responsible for filtering, routing, encoding, and appending log events. +The logging implementation is responsible for filtering, routing, encoding, and appending log events. This needs to be available at runtime and configured by the user. [#logging] -== How do I log using Log4j? +== How do I write logs using Log4j? Add the `log4j-api` dependency to your application: @@ -170,7 +171,7 @@ Let's try to walk through the most common ones. Pass exception as the last extra argument * [ ] Don't call `Throwable#printStackTrace()`! -This not only circumvents the logging, but can also leak sensitive information! +This not only circumvents the logging but can also leak sensitive information! + [source,java] @@ -187,7 +188,7 @@ This prevents the log event from getting enriched with the exception. * [ ] Don't provide both `Throwable#getMessage()` and `Throwable` itself! -This bloats the log message with duplicate exception message. +This bloats the log message with a duplicate exception message. + [source,java] @@ -210,7 +211,7 @@ If you are using `String` concatenation while logging, you are doing something v * [ ] Don't use `String` concatenation to format arguments! This circumvents the handling of arguments by message type and layout. More importantly, **this approach is prone to attacks!** -Imagine `userId` being provided by user with the following content: +Imagine `userId` being provided by the user with the following content: `placeholders for non-existing args to trigger failure: {} {} \{dangerousLookup}` + [source,java] @@ -330,11 +331,11 @@ Save the following XML document to `src/**main**/resources/log4j2.xml`: -<1> xref:manual/appenders.adoc[Appenders] are responsible for writing log events to console, file, socket, database, etc. +<1> xref:manual/appenders.adoc[Appenders] are responsible for writing log events to the console, file, socket, database, etc. <2> xref:manual/appenders.adoc#ConsoleAppender[Console Appender] is used to write logs to the console. <3> xref:manual/json-template-layout.adoc[JSON Template Layout] is used to encode log events in JSON. -<4> Log events generated by classes in the `com.mycompany` package (incl. its subpackages) and that are of level `INFO` and higher (i.e., `WARN`, `ERROR`, `FATAL`) will be consumed. -<5> Unless specified otherwise, log events of level `WARN` and
(logging-log4j2) branch 2.x-site-stg-out updated: Add website content generated from `85c61ca6e1ecce697697dbc3f62745f4d0e03d03`
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch 2.x-site-stg-out in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git The following commit(s) were added to refs/heads/2.x-site-stg-out by this push: new 4c5940d42f Add website content generated from `85c61ca6e1ecce697697dbc3f62745f4d0e03d03` 4c5940d42f is described below commit 4c5940d42f575497aa3c1de0e2082692f691e62b Author: ASF Logging Services RM AuthorDate: Tue May 7 19:03:41 2024 + Add website content generated from `85c61ca6e1ecce697697dbc3f62745f4d0e03d03` --- manual/index.html | 1 - plugin-reference.html | 14 +++--- sitemap.xml | 136 +- 3 files changed, 75 insertions(+), 76 deletions(-) diff --git a/manual/index.html b/manual/index.html index b45ccc8832..9f39924d05 100644 --- a/manual/index.html +++ b/manual/index.html @@ -319,7 +319,6 @@ be found at Inserting log statements into code is a low-tech method for debugging -Inserting log statements into code is a low-tech method for debugging it. It may also be the only way because debuggers are not always available or applicable. This is usually the case for multithreaded applications and distributed applications at large. diff --git a/plugin-reference.html b/plugin-reference.html index e83ca431f1..0b8a54593e 100644 --- a/plugin-reference.html +++ b/plugin-reference.html @@ -1428,7 +1428,7 @@ Originally developed by Ceki Glc and Anders Kristensen. header -String? +boolean? @@ -15842,10 +15842,10 @@ Supports Lookup expressions. boolean? -If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true". +If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true". -If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true". +If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true". @@ -17141,10 +17141,10 @@ Supports Lookup expressions. boolean? -If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true". +If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true". -If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true". +If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true". @@ -17340,10 +17340,10 @@ Supports Lookup expressions. boolean? -If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true". +If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true". -If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true". +If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true". diff --git a/sitemap.xml b/sitemap.xml index 2175e3f1b5..54f5a676eb 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,274 +2,274 @@ http://www.sitemaps.org/schemas/sitemap/0.9;> https://logging.apache.org/log4j/2.x/5min.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/articles.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/development.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/download.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/faq.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/index.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/javadoc.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/log4j-1.2-api.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/log4j-api.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/log4j-appserver.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/log4j-cassandra.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/log4j-couchdb.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/log4j-docker.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/log4j-flume-ng.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/log4j-iostreams.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/log4j-jakarta-web.html -2024-05-07T11:41:49.196Z +2024-05-07T19:03:17.745Z https://logging.apache.org/log4j/2.x/log4j-jcl.html
(logging-log4j2) branch 2.x-site-stg-out updated: Add `.asf.yaml` along with an INFRA fix for the website content generated from `85c61ca6e1ecce697697dbc3f62745f4d0e03d03`
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch 2.x-site-stg-out in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git The following commit(s) were added to refs/heads/2.x-site-stg-out by this push: new 248ceb73f1 Add `.asf.yaml` along with an INFRA fix for the website content generated from `85c61ca6e1ecce697697dbc3f62745f4d0e03d03` 248ceb73f1 is described below commit 248ceb73f13411db981c5b82841308a8b317ce84 Author: ASF Logging Services RM AuthorDate: Tue May 7 19:03:48 2024 + Add `.asf.yaml` along with an INFRA fix for the website content generated from `85c61ca6e1ecce697697dbc3f62745f4d0e03d03` --- .asf.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index 24d7c36484..b3f3522ab9 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -9,6 +9,6 @@ staging: # # Random values to cause a change: # -# - Seed: 12011 -# - Commit ID: c36ee1811fd5961d2ec7677726b59fb799c96fda -# - Timestamp: 2024-05-07T11:42:12Z +# - Seed: 2408 +# - Commit ID: 85c61ca6e1ecce697697dbc3f62745f4d0e03d03 +# - Timestamp: 2024-05-07T19:03:48Z
(logging-log4j2) branch 2.x updated: removed duplicated sentence fragment
This is an automated email from the ASF dual-hosted git repository. grobmeier 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 85c61ca6e1 removed duplicated sentence fragment 85c61ca6e1 is described below commit 85c61ca6e1ecce697697dbc3f62745f4d0e03d03 Author: Christian Grobmeier AuthorDate: Tue May 7 20:56:44 2024 +0200 removed duplicated sentence fragment --- src/site/antora/modules/ROOT/pages/manual/index.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/site/antora/modules/ROOT/pages/manual/index.adoc b/src/site/antora/modules/ROOT/pages/manual/index.adoc index 2ab8e552f2..15f93a160b 100644 --- a/src/site/antora/modules/ROOT/pages/manual/index.adoc +++ b/src/site/antora/modules/ROOT/pages/manual/index.adoc @@ -30,7 +30,6 @@ version, including full-source code, class files and documentation can be found at https://logging.apache.org/log4j/2.x/index.html[*https://logging.apache.org/log4j/2.x/index.html*]. -Inserting log statements into code is a low-tech method for debugging Inserting log statements into code is a low-tech method for debugging it. It may also be the only way because debuggers are not always available or applicable. This is usually the case for multithreaded
(logging-log4j-tools) branch main-site-stg-out updated: Add `.asf.yaml` along with an INFRA fix for the website content generated from `bb0347a8f6bc15eb63621fa1593644d7590a5c7f`
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-log4j-tools.git The following commit(s) were added to refs/heads/main-site-stg-out by this push: new 7c5ee15 Add `.asf.yaml` along with an INFRA fix for the website content generated from `bb0347a8f6bc15eb63621fa1593644d7590a5c7f` 7c5ee15 is described below commit 7c5ee15c4d1d0b50f1bf61923d89e6532313c860 Author: ASF Logging Services RM AuthorDate: Tue May 7 12:57:37 2024 + Add `.asf.yaml` along with an INFRA fix for the website content generated from `bb0347a8f6bc15eb63621fa1593644d7590a5c7f` --- .asf.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index 9fbd21b..0267df8 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -9,6 +9,6 @@ staging: # # Random values to cause a change: # -# - Seed: 9355 -# - Commit ID: f9e80c3dcaa2911a3bb7a4d2f9963cd8c6330d91 -# - Timestamp: 2024-05-07T08:35:58Z +# - Seed: 6566 +# - Commit ID: bb0347a8f6bc15eb63621fa1593644d7590a5c7f +# - Timestamp: 2024-05-07T12:57:37Z
(logging-log4j-tools) branch main-site-stg-out updated: Add website content generated from `bb0347a8f6bc15eb63621fa1593644d7590a5c7f`
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-log4j-tools.git The following commit(s) were added to refs/heads/main-site-stg-out by this push: new 3faf28a Add website content generated from `bb0347a8f6bc15eb63621fa1593644d7590a5c7f` 3faf28a is described below commit 3faf28a5c3a3c13031e45655096516d750ea3f93 Author: ASF Logging Services RM AuthorDate: Tue May 7 12:57:36 2024 + Add website content generated from `bb0347a8f6bc15eb63621fa1593644d7590a5c7f` --- release-notes.html | 12 +++- sitemap.xml| 16 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/release-notes.html b/release-notes.html index b439e3e..545c0a1 100644 --- a/release-notes.html +++ b/release-notes.html @@ -136,6 +136,16 @@ +Fixed + + + +Fix handling of subclassed plugins in Log4j Docgen (https://github.com/apache/logging-log4j-tools/pull/120;>120) + + + + + Updated @@ -146,7 +156,7 @@ Update org.apache.logging:logging-parent to version 11.0.0 (https://github.com/apache/logging-log4j-tools/pull/115;>115) -Update org.apache.maven.plugin-tools:maven-plugin-annotations to version 3.12.0 (https://github.com/apache/logging-log4j-tools/pull/113;>113) +Update org.apache.maven.plugin-tools:maven-plugin-annotations to version 3.13.0 (https://github.com/apache/logging-log4j-tools/pull/118;>118) Update org.codehaus.modello:modello-maven-plugin to version 2.4.0 (https://github.com/apache/logging-log4j-tools/pull/119;>119) diff --git a/sitemap.xml b/sitemap.xml index 414ce93..30db321 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,34 +2,34 @@ http://www.sitemaps.org/schemas/sitemap/0.9;> https://logging.apache.org/log4j/kotlin/development.html -2024-05-07T08:35:55.728Z +2024-05-07T12:57:34.752Z https://logging.apache.org/log4j/kotlin/index.html -2024-05-07T08:35:55.728Z +2024-05-07T12:57:34.752Z https://logging.apache.org/log4j/kotlin/log4j-changelog-maven-plugin.html -2024-05-07T08:35:55.728Z +2024-05-07T12:57:34.752Z https://logging.apache.org/log4j/kotlin/log4j-changelog.html -2024-05-07T08:35:55.728Z +2024-05-07T12:57:34.752Z https://logging.apache.org/log4j/kotlin/log4j-docgen-asciidoctor-extension.html -2024-05-07T08:35:55.728Z +2024-05-07T12:57:34.752Z https://logging.apache.org/log4j/kotlin/log4j-docgen-maven-plugin.html -2024-05-07T08:35:55.728Z +2024-05-07T12:57:34.752Z https://logging.apache.org/log4j/kotlin/log4j-docgen.html -2024-05-07T08:35:55.728Z +2024-05-07T12:57:34.752Z https://logging.apache.org/log4j/kotlin/release-notes.html -2024-05-07T08:35:55.728Z +2024-05-07T12:57:34.752Z
(logging-log4j-tools) 01/01: Fix plugin subclassing in Log4j Docgen (#117, #120)
This is an automated email from the ASF dual-hosted git repository. vy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git commit bb0347a8f6bc15eb63621fa1593644d7590a5c7f Merge: a039234 2c05ade Author: Volkan Yazıcı AuthorDate: Tue May 7 14:57:04 2024 +0200 Fix plugin subclassing in Log4j Docgen (#117, #120) .../docgen/generator/internal/TypeLookup.java | 114 -- .../docgen/processor/DescriptorGenerator.java | 40 --- .../DescriptorGeneratorTest/expected-plugins.xml | 13 +++ .../java-of-log4j2/MyAppender.java | 2 +- .../MyAppenderSubclassingAppender.java | 42 +++ .../java-of-log4j3/MyAppender.java | 2 +- .../MyAppenderSubclassingAppender.java | 43 +++ ...logging.log4j.core.appender.SocketAppender.adoc | 127 - ...che.logging.log4j.core.config.LoggerConfig.adoc | 75 +++- ...he.logging.log4j.core.config.LoggersPlugin.adoc | 2 +- ...apache.logging.log4j.core.filter.MapFilter.adoc | 53 - ...apache.logging.log4j.core.lookup.MapLookup.adoc | 8 +- ...g4j.core.pattern.ThrowablePatternConverter.adoc | 8 +- .../.0.x.x/fix-docgen-plugin-subclass.xml | 8 ++ 14 files changed, 503 insertions(+), 34 deletions(-)
(logging-log4j-tools) branch main updated (a039234 -> bb0347a)
This is an automated email from the ASF dual-hosted git repository. vy pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git from a039234 Update `org.apache.maven.plugin-tools:maven-plugin-annotations` to version `3.13.0` (#118) add e861a4f Fix handling of subclassed plugins in Log4j Docgen (#117) add 6d3610f Fix Spotless failures add cd401aa Fix failing tests add 17fee97 Add tests cases covering plugins subclassing plugins add 2cfeeb6 Use `Map#merge(K,V,BiFunction)` add 2c05ade Improve changelog entry new bb0347a Fix plugin subclassing in Log4j Docgen (#117, #120) The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../docgen/generator/internal/TypeLookup.java | 114 -- .../docgen/processor/DescriptorGenerator.java | 40 --- .../DescriptorGeneratorTest/expected-plugins.xml | 13 +++ .../java-of-log4j2/MyAppender.java | 2 +- .../MyAppenderSubclassingAppender.java}| 24 +++- .../java-of-log4j3/MyAppender.java | 2 +- .../MyAppenderSubclassingAppender.java}| 38 +++--- ...logging.log4j.core.appender.SocketAppender.adoc | 127 - ...che.logging.log4j.core.config.LoggerConfig.adoc | 75 +++- ...he.logging.log4j.core.config.LoggersPlugin.adoc | 2 +- ...apache.logging.log4j.core.filter.MapFilter.adoc | 53 - ...apache.logging.log4j.core.lookup.MapLookup.adoc | 8 +- ...g4j.core.pattern.ThrowablePatternConverter.adoc | 8 +- .../fix-docgen-plugin-subclass.xml}| 3 +- 14 files changed, 452 insertions(+), 57 deletions(-) copy log4j-docgen/src/test/resources/DescriptorGeneratorTest/{java-with-invalid-javadoc/JavadocExample.java => java-of-log4j2/MyAppenderSubclassingAppender.java} (51%) copy log4j-docgen/src/test/resources/DescriptorGeneratorTest/{java-of-log4j2/MyEnum.java => java-of-log4j3/MyAppenderSubclassingAppender.java} (51%) copy src/changelog/{0.4.0/fix_repetitive_release.xml => .0.x.x/fix-docgen-plugin-subclass.xml} (62%)
(logging-log4j-tools) branch fix/docgen-plugin-subclass deleted (was 2c05ade)
This is an automated email from the ASF dual-hosted git repository. vy pushed a change to branch fix/docgen-plugin-subclass in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git was 2c05ade Improve changelog entry The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
(logging-log4j-tools) branch fix/docgen-plugin-subclass updated (2cfeeb6 -> 2c05ade)
This is an automated email from the ASF dual-hosted git repository. vy pushed a change to branch fix/docgen-plugin-subclass in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git from 2cfeeb6 Use `Map#merge(K,V,BiFunction)` add 2c05ade Improve changelog entry No new revisions were added by this update. Summary of changes: .../{fix-docgen-duplicate-type.xml => fix-docgen-plugin-subclass.xml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/changelog/.0.x.x/{fix-docgen-duplicate-type.xml => fix-docgen-plugin-subclass.xml} (82%)
(logging-log4j-tools) branch fix/docgen-plugin-subclass updated (6d3610f -> 2cfeeb6)
This is an automated email from the ASF dual-hosted git repository. vy pushed a change to branch fix/docgen-plugin-subclass in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git from 6d3610f Fix Spotless failures add cd401aa Fix failing tests add 17fee97 Add tests cases covering plugins subclassing plugins add 2cfeeb6 Use `Map#merge(K,V,BiFunction)` No new revisions were added by this update. Summary of changes: .../docgen/generator/internal/TypeLookup.java | 136 ++--- .../DescriptorGeneratorTest/expected-plugins.xml | 13 ++ .../java-of-log4j2/MyAppender.java | 2 +- .../MyAppenderSubclassingAppender.java}| 24 +++- .../java-of-log4j3/MyAppender.java | 2 +- .../MyAppenderSubclassingAppender.java}| 38 +++--- ...logging.log4j.core.appender.SocketAppender.adoc | 127 ++- ...che.logging.log4j.core.config.LoggerConfig.adoc | 75 +++- ...he.logging.log4j.core.config.LoggersPlugin.adoc | 2 +- ...apache.logging.log4j.core.filter.MapFilter.adoc | 53 +++- ...apache.logging.log4j.core.lookup.MapLookup.adoc | 8 +- ...g4j.core.pattern.ThrowablePatternConverter.adoc | 8 +- 12 files changed, 390 insertions(+), 98 deletions(-) copy log4j-docgen/src/test/resources/DescriptorGeneratorTest/{java-with-invalid-javadoc/JavadocExample.java => java-of-log4j2/MyAppenderSubclassingAppender.java} (51%) copy log4j-docgen/src/test/resources/DescriptorGeneratorTest/{java-of-log4j2/MyEnum.java => java-of-log4j3/MyAppenderSubclassingAppender.java} (51%)
(logging-log4j2) branch 2.x-site-stg-out updated: Add `.asf.yaml` along with an INFRA fix for the website content generated from `c36ee1811fd5961d2ec7677726b59fb799c96fda`
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch 2.x-site-stg-out in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git The following commit(s) were added to refs/heads/2.x-site-stg-out by this push: new b7dc376cc0 Add `.asf.yaml` along with an INFRA fix for the website content generated from `c36ee1811fd5961d2ec7677726b59fb799c96fda` b7dc376cc0 is described below commit b7dc376cc0f6b4b373140c266e1440835b846ee7 Author: ASF Logging Services RM AuthorDate: Tue May 7 11:42:12 2024 + Add `.asf.yaml` along with an INFRA fix for the website content generated from `c36ee1811fd5961d2ec7677726b59fb799c96fda` --- .asf.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index f695e6bfa6..24d7c36484 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -9,6 +9,6 @@ staging: # # Random values to cause a change: # -# - Seed: 1984 -# - Commit ID: 6fb168fe79dac6bf04422eabe4a229a60ca78925 -# - Timestamp: 2024-05-07T08:58:27Z +# - Seed: 12011 +# - Commit ID: c36ee1811fd5961d2ec7677726b59fb799c96fda +# - Timestamp: 2024-05-07T11:42:12Z
(logging-log4j2) branch 2.x-site-stg-out updated: Add website content generated from `c36ee1811fd5961d2ec7677726b59fb799c96fda`
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch 2.x-site-stg-out in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git The following commit(s) were added to refs/heads/2.x-site-stg-out by this push: new bff96c4450 Add website content generated from `c36ee1811fd5961d2ec7677726b59fb799c96fda` bff96c4450 is described below commit bff96c44506d7a9167bb00260b115e5cf77f5fed Author: ASF Logging Services RM AuthorDate: Tue May 7 11:42:11 2024 + Add website content generated from `c36ee1811fd5961d2ec7677726b59fb799c96fda` --- plugin-reference.html | 218 +- sitemap.xml | 136 +++ 2 files changed, 177 insertions(+), 177 deletions(-) diff --git a/plugin-reference.html b/plugin-reference.html index c975e39bf2..e83ca431f1 100644 --- a/plugin-reference.html +++ b/plugin-reference.html @@ -297,7 +297,7 @@ https://github.com/apache/logging-log4j2/edit/2.x/src/site/antora/modules/ROOT/pages/plugin-reference.adoc;>Edit this Page - + @@ -354,9 +354,9 @@ This not only allows Log4j itself to be developed in individual components, but Below is a list of all types reachable by plugins grouped by the Maven coordinate of the artifact bundling them. -org.apache.logging.log4j:log4j-1.2-api +log4j-1.2-api -org.apache.log4j.builders.AbstractBuilder +AbstractBuilder Class @@ -438,7 +438,7 @@ This not only allows Log4j itself to be developed in individual components, but -org.apache.log4j.builders.Builder +Builder Class @@ -529,7 +529,7 @@ This not only allows Log4j itself to be developed in individual components, but -org.apache.log4j.builders.Parser +Parser Class @@ -590,7 +590,7 @@ This not only allows Log4j itself to be developed in individual components, but -org.apache.log4j.builders.appender.AppenderBuilder +AppenderBuilder Class @@ -931,7 +931,7 @@ This not only allows Log4j itself to be developed in individual components, but -org.apache.log4j.builders.filter.FilterBuilder +FilterBuilder Class @@ -1076,7 +1076,7 @@ This not only allows Log4j itself to be developed in individual components, but -org.apache.log4j.builders.layout.LayoutBuilder +LayoutBuilder Class @@ -1289,7 +1289,7 @@ This not only allows Log4j itself to be developed in individual components, but -org.apache.log4j.builders.rolling.TriggeringPolicyBuilder +TriggeringPolicyBuilder Class @@ -1641,9 +1641,9 @@ Originally developed by Ceki Glc, Mathias Bogaert. -org.apache.logging.log4j:log4j-cassandra +log4j-cassandra -com.datastax.driver.core.BatchStatement.Type +Type Class @@ -1863,9 +1863,9 @@ Originally developed by Ceki Glc, Mathias Bogaert. -org.apache.logging.log4j:log4j-core +log4j-core -com.conversantmedia.util.concurrent.SpinPolicy +SpinPolicy Class @@ -1880,7 +1880,7 @@ Originally developed by Ceki Glc, Mathias Bogaert. -org.apache.commons.csv.QuoteMode +QuoteMode Class @@ -1895,7 +1895,7 @@ Originally developed by Ceki Glc, Mathias Bogaert. -org.apache.logging.log4j.Level +Level Class @@ -1914,7 +1914,7 @@ NOTE: The Log4j API supports custom levels, the following list contains only the -org.apache.logging.log4j.core.AbstractLifeCycle +AbstractLifeCycle Class @@ -2134,7 +2134,7 @@ NOTE: The Log4j API supports custom levels, the following list contains only the -org.apache.logging.log4j.core.Appender +Appender Class @@ -2267,7 +2267,7 @@ When resources require locking (e.g., through org.apache.logging.log4j.cor -org.apache.logging.log4j.core.Filter +Filter Class @@ -2350,7 +2350,7 @@ It is recommended that, where possible, Filter implementations create a generic -org.apache.logging.log4j.core.Filter.Result +Result Class @@ -2368,7 +2368,7 @@ It is recommended that, where possible, Filter implementations create a generic -org.apache.logging.log4j.core.Layout +Layout Class @@ -2460,7 +2460,7 @@ It is recommended that, where possible, Filter implementations create a generic -org.apache.logging.log4j.core.LifeCycle +LifeCycle Class @@ -2684,7 +2684,7 @@ In most circumstances, implementation classes should store their org.apach -org.apache.logging.log4j.core.LifeCycle2 +LifeCycle2 Class @@ -2904,7 +2904,7 @@ In most circumstances, implementation classes should store their org.apach -org.apache.logging.log4j.core.StringLayout +StringLayout Class @@ -2968,7 +2968,7 @@ In most circumstances, implementation classes should store their org.apach -org.apache.logging.log4j.core.appender.AbstractAppender +AbstractAppender Class @@ -3092,7 +3092,7 @@ In most circumstances, implementation classes should store their org.apach -org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender +AbstractOutputStreamAppender Class @@
(logging-log4j2) branch 2.x updated: Improve plugin reference ToC
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 c36ee1811f Improve plugin reference ToC c36ee1811f is described below commit c36ee1811fd5961d2ec7677726b59fb799c96fda Author: Volkan Yazıcı AuthorDate: Tue May 7 13:31:27 2024 +0200 Improve plugin reference ToC --- src/docgen/index.adoc.ftl | 6 +- src/docgen/type.adoc.ftl | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/docgen/index.adoc.ftl b/src/docgen/index.adoc.ftl index 40633161b8..32a756054c 100644 --- a/src/docgen/index.adoc.ftl +++ b/src/docgen/index.adoc.ftl @@ -15,6 +15,10 @@ 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. --> + +// ToC does not look nice with a deep sectioning, override it: +:page-toclevels: 3 + <#-- @ftlvariable name="lookup" type="org.apache.logging.log4j.docgen.generator.TypeLookup" --> = Plugin reference @@ -52,7 +56,7 @@ Below is a list of all types reachable by plugins grouped by the Maven coordinat <#assign lastArtifactId = sourcedType.artifactId/> [#${sourcedType.groupId?replace('.', '-')}_${sourcedType.artifactId?replace('.', '-')}] -=== `${sourcedType.groupId}:${sourcedType.artifactId}` +=== `${sourcedType.artifactId}` include::_plugin-reference/${sourcedType.groupId}-${sourcedType.artifactId}-${sourcedType.type.className}.adoc[leveloffset=+3] diff --git a/src/docgen/type.adoc.ftl b/src/docgen/type.adoc.ftl index 48f8dc2478..ec7c90bc0a 100644 --- a/src/docgen/type.adoc.ftl +++ b/src/docgen/type.adoc.ftl @@ -21,7 +21,7 @@ <#-- @ftlvariable name="lookup" type="org.apache.logging.log4j.docgen.generator.TypeLookup" --> [#${sourcedType.groupId?replace('.', '-')}_${sourcedType.artifactId?replace('.', '-')}_${type.className?replace('.', '-')}] -= ${type.name!('`' + type.className + '`')} += ${type.name!('`' + type.className?keep_after_last('.') + '`')} Class:: `${type.className}` Provider:: `${sourcedType.groupId}:${sourcedType.artifactId}`
(logging-parent) branch main updated (00e07d8 -> 9d92cce)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/logging-parent.git from 00e07d8 Update `com.github.spotbugs:spotbugs-annotations` to version `4.8.5` (#174) add 9d92cce Update `actions/checkout` to version `4.1.5` (#176) No new revisions were added by this update. Summary of changes: .github/workflows/build-reusable.yaml | 2 +- .github/workflows/codeql-analysis-reusable.yaml | 2 +- .github/workflows/deploy-release-reusable.yaml | 2 +- .github/workflows/deploy-site-reusable.yaml | 4 ++-- .github/workflows/deploy-snapshot-reusable.yaml | 2 +- .github/workflows/merge-dependabot-reusable.yaml| 2 +- .github/workflows/scorecards-analysis-reusable.yaml | 2 +- src/changelog/.11.x.x/update_actions_checkout.xml | 4 ++-- 8 files changed, 10 insertions(+), 10 deletions(-)
(logging-parent) branch dependabot/github_actions/actions/checkout-4.1.5 updated (80111f8 -> 9d92cce)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/github_actions/actions/checkout-4.1.5 in repository https://gitbox.apache.org/repos/asf/logging-parent.git discard 80111f8 Bump actions/checkout from 4.1.4 to 4.1.5 add 9d92cce Update `actions/checkout` to version `4.1.5` (#176) This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (80111f8) \ N -- N -- N refs/heads/dependabot/github_actions/actions/checkout-4.1.5 (9d92cce) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: src/changelog/.11.x.x/update_actions_checkout.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
(logging-parent) branch dependabot/github_actions/actions/checkout-4.1.5 deleted (was 9d92cce)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/github_actions/actions/checkout-4.1.5 in repository https://gitbox.apache.org/repos/asf/logging-parent.git was 9d92cce Update `actions/checkout` to version `4.1.5` (#176) The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
(logging-parent) branch dependabot/github_actions/actions/checkout-4.1.5 created (now 80111f8)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/github_actions/actions/checkout-4.1.5 in repository https://gitbox.apache.org/repos/asf/logging-parent.git at 80111f8 Bump actions/checkout from 4.1.4 to 4.1.5 No new revisions were added by this update.
(logging-log4j2) branch 2.x-site-stg-out updated: Add `.asf.yaml` along with an INFRA fix for the website content generated from `6fb168fe79dac6bf04422eabe4a229a60ca78925`
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch 2.x-site-stg-out in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git The following commit(s) were added to refs/heads/2.x-site-stg-out by this push: new 241ebd9dd9 Add `.asf.yaml` along with an INFRA fix for the website content generated from `6fb168fe79dac6bf04422eabe4a229a60ca78925` 241ebd9dd9 is described below commit 241ebd9dd93fae9acb74dea9f3b98aaad68ef919 Author: ASF Logging Services RM AuthorDate: Tue May 7 08:58:27 2024 + Add `.asf.yaml` along with an INFRA fix for the website content generated from `6fb168fe79dac6bf04422eabe4a229a60ca78925` --- .asf.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index d8c1ac54af..f695e6bfa6 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -9,6 +9,6 @@ staging: # # Random values to cause a change: # -# - Seed: 11495 -# - Commit ID: 877ef02f7978bbbd52863f389db203c8f1a44a0a -# - Timestamp: 2024-05-03T08:48:14Z +# - Seed: 1984 +# - Commit ID: 6fb168fe79dac6bf04422eabe4a229a60ca78925 +# - Timestamp: 2024-05-07T08:58:27Z
(logging-log4j2) branch 2.x-site-stg-out updated: Add website content generated from `6fb168fe79dac6bf04422eabe4a229a60ca78925`
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch 2.x-site-stg-out in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git The following commit(s) were added to refs/heads/2.x-site-stg-out by this push: new 2c7a827482 Add website content generated from `6fb168fe79dac6bf04422eabe4a229a60ca78925` 2c7a827482 is described below commit 2c7a8274822f884f7429b904834e7f211eac65c8 Author: ASF Logging Services RM AuthorDate: Tue May 7 08:58:26 2024 + Add website content generated from `6fb168fe79dac6bf04422eabe4a229a60ca78925` --- plugin-reference.html | 2 +- release-notes.html| 8 ++- sitemap.xml | 136 +- 3 files changed, 76 insertions(+), 70 deletions(-) diff --git a/plugin-reference.html b/plugin-reference.html index 30b2831628..c975e39bf2 100644 --- a/plugin-reference.html +++ b/plugin-reference.html @@ -1428,7 +1428,7 @@ Originally developed by Ceki Glc and Anders Kristensen. header -boolean? +String? diff --git a/release-notes.html b/release-notes.html index 3661b952ed..623e194d0d 100644 --- a/release-notes.html +++ b/release-notes.html @@ -418,7 +418,7 @@ Update com.github.luben:zstd-jni to version 1.5.6-3 (https://github.com/apache/logging-log4j2/pull/2501;>2501) -Update com.google.guava:guava to version 33.1.0-jre (https://github.com/apache/logging-log4j2/pull/2377;>2377) +Update com.google.guava:guava to version 33.2.0-jre (https://github.com/apache/logging-log4j2/pull/2564;>2564) Update commons-codec:commons-codec to version 1.17.0 (https://github.com/apache/logging-log4j2/pull/2543;>2543) @@ -445,9 +445,15 @@ Update org.apache.commons:commons-compress to version 1.26.1 (https://github.com/apache/logging-log4j2/pull/2361;>2361) +Update org.apache.commons:commons-csv to version 1.11.0 (https://github.com/apache/logging-log4j2/pull/2565;>2565) + + Update org.awaitility:awaitility to version 4.2.1 (https://github.com/apache/logging-log4j2/pull/2386;>2386) +Update org.hdrhistogram:HdrHistogram to version 2.2.1 (https://github.com/apache/logging-log4j2/pull/2569;>2569) + + Update log4j-mongodb3 org.mongodb:* to version 3.12.14 (https://github.com/apache/logging-log4j2/pull/2409;>2409) diff --git a/sitemap.xml b/sitemap.xml index f784ee6602..541c4b2f9d 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,274 +2,274 @@ http://www.sitemaps.org/schemas/sitemap/0.9;> https://logging.apache.org/log4j/2.x/5min.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/articles.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/development.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/download.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/faq.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/index.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/javadoc.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-1.2-api.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-api.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-appserver.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-cassandra.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-couchdb.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-docker.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-flume-ng.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-iostreams.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-jakarta-web.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-jcl.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-jmx-gui.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-jpl.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-jul.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-mongodb3.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-mongodb4.html -2024-05-03T08:47:52.668Z +2024-05-07T08:58:05.771Z https://logging.apache.org/log4j/2.x/log4j-slf4j-impl.html
(logging-log4j2) branch 2.x updated: Fix `SECURITY.adoc` link
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 6fb168fe79 Fix `SECURITY.adoc` link 6fb168fe79 is described below commit 6fb168fe79dac6bf04422eabe4a229a60ca78925 Author: Volkan Yazıcı AuthorDate: Tue May 7 10:50:58 2024 +0200 Fix `SECURITY.adoc` link --- SECURITY.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SECURITY.adoc b/SECURITY.adoc index be999f290f..23a4e5b12c 100644 --- a/SECURITY.adoc +++ b/SECURITY.adoc @@ -15,4 +15,4 @@ limitations under the License. -See https://logging.apache.org/log4j/2.x/security.html[the Security page]. +See https://logging.apache.org/security.html[the Security page].
(logging-log4j-tools) branch dependabot/maven/org.apache.maven.plugin-tools-maven-plugin-annotations-3.13.0 deleted (was a039234)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/maven/org.apache.maven.plugin-tools-maven-plugin-annotations-3.13.0 in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git was a039234 Update `org.apache.maven.plugin-tools:maven-plugin-annotations` to version `3.13.0` (#118) The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
(logging-log4j-tools) branch dependabot/maven/org.apache.maven.plugin-tools-maven-plugin-annotations-3.13.0 updated (76d54b1 -> a039234)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/maven/org.apache.maven.plugin-tools-maven-plugin-annotations-3.13.0 in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git discard 76d54b1 Bump org.apache.maven.plugin-tools:maven-plugin-annotations add a039234 Update `org.apache.maven.plugin-tools:maven-plugin-annotations` to version `3.13.0` (#118) This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (76d54b1) \ N -- N -- N refs/heads/dependabot/maven/org.apache.maven.plugin-tools-maven-plugin-annotations-3.13.0 (a039234) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .../update_org_apache_maven_plugin_tools_maven_plugin_annotations.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
(logging-log4j-tools) branch main updated (f9e80c3 -> a039234)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git from f9e80c3 Revert "Fix handling of subclassed plugins in Log4j Docgen (#117)" add a039234 Update `org.apache.maven.plugin-tools:maven-plugin-annotations` to version `3.13.0` (#118) No new revisions were added by this update. Summary of changes: log4j-tools-parent/pom.xml| 2 +- .../update_org_apache_maven_plugin_tools_maven_plugin_annotations.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
(logging-log4j-tools) 01/02: Fix handling of subclassed plugins in Log4j Docgen (#117)
This is an automated email from the ASF dual-hosted git repository. vy pushed a commit to branch fix/docgen-plugin-subclass in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git commit e861a4fd8ab4187f08ad551dc19f66bd5c26a8b9 Author: Volkan Yazıcı AuthorDate: Tue May 7 10:34:25 2024 +0200 Fix handling of subclassed plugins in Log4j Docgen (#117) --- .../docgen/generator/internal/TypeLookup.java | 125 ++--- .../docgen/processor/DescriptorGenerator.java | 40 --- src/changelog/.0.x.x/fix-docgen-duplicate-type.xml | 8 ++ 3 files changed, 143 insertions(+), 30 deletions(-) diff --git a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java index d32bd00..f87ba02 100644 --- a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java +++ b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java @@ -16,15 +16,18 @@ */ package org.apache.logging.log4j.docgen.generator.internal; -import java.util.Iterator; -import java.util.Set; -import java.util.TreeMap; -import java.util.function.Predicate; import org.apache.logging.log4j.docgen.AbstractType; import org.apache.logging.log4j.docgen.PluginSet; import org.apache.logging.log4j.docgen.PluginType; +import org.apache.logging.log4j.docgen.ScalarType; +import org.apache.logging.log4j.docgen.Type; import org.jspecify.annotations.Nullable; +import java.util.Iterator; +import java.util.Set; +import java.util.TreeMap; +import java.util.function.Predicate; + public final class TypeLookup extends TreeMap { private static final long serialVersionUID = 1L; @@ -42,18 +45,108 @@ public final class TypeLookup extends TreeMap { private void mergeDescriptors(Iterable pluginSets) { pluginSets.forEach(pluginSet -> { -pluginSet.getScalars().forEach(scalar -> { -final ArtifactSourcedType sourcedType = ArtifactSourcedType.ofPluginSet(pluginSet, scalar); -putIfAbsent(scalar.getClassName(), sourcedType); -}); -pluginSet.getAbstractTypes().forEach(abstractType -> { -final ArtifactSourcedType sourcedType = ArtifactSourcedType.ofPluginSet(pluginSet, abstractType); -putIfAbsent(abstractType.getClassName(), sourcedType); -}); -pluginSet.getPlugins().forEach(pluginType -> { -final ArtifactSourcedType sourcedType = ArtifactSourcedType.ofPluginSet(pluginSet, pluginType); -putIfAbsent(pluginType.getClassName(), sourcedType); -}); +mergeScalarTypes(pluginSet); +mergeAbstractTypes(pluginSet); +mergePluginTypes(pluginSet); +}); +} + +@SuppressWarnings("StatementWithEmptyBody") +private void mergeScalarTypes(PluginSet pluginSet) { +pluginSet.getScalars().forEach(newType -> { + +final String className = newType.getClassName(); +@Nullable final ArtifactSourcedType oldSourcedType = get(className); + +// If the entry doesn't exist yet, add it +if (oldSourcedType == null) { +final ArtifactSourcedType newSourcedType = ArtifactSourcedType.ofPluginSet(pluginSet, newType); +put(className, newSourcedType); +} + +// If the entry already exists and is of expected type, we should ideally extend it. +// Since Modello doesn't generate `hashCode()`, `equals()`, etc. it is difficult to compare instances. +// Hence, we will be lazy, and just assume they are the same. +else if (oldSourcedType.type instanceof ScalarType) {} + +// If the entry already exists, but with an unexpected type, fail +else { +conflictingTypeFailure(className, oldSourcedType.type, newType); +} +}); +} + +private static void conflictingTypeFailure(final String className, final Type oldType, final Type newType) { +final String message = String.format( +"`%s` class occurs multiple times with conflicting types: `%s` and `%s`", +className, +oldType.getClass().getSimpleName(), +newType.getClass().getSimpleName()); +throw new IllegalArgumentException(message); +} + +private void mergeAbstractTypes(PluginSet pluginSet) { +pluginSet.getAbstractTypes().forEach(newType -> { + +final String className = newType.getClassName(); +@Nullable final ArtifactSourcedType oldSourcedType = get(className); + +// If the entry doesn't exist yet, add it +if (oldSourcedType == null) { +final ArtifactSourcedType newSourcedType =
(logging-log4j-tools) branch fix/docgen-plugin-subclass updated (f8b0cb4 -> 6d3610f)
This is an automated email from the ASF dual-hosted git repository. vy pushed a change to branch fix/docgen-plugin-subclass in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git from f8b0cb4 Fix handling of subclassed plugins in Log4j Docgen (#117) add f9e80c3 Revert "Fix handling of subclassed plugins in Log4j Docgen (#117)" new e861a4f Fix handling of subclassed plugins in Log4j Docgen (#117) new 6d3610f Fix Spotless failures The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../log4j/docgen/generator/internal/TypeLookup.java | 15 ++- 1 file changed, 6 insertions(+), 9 deletions(-)
(logging-log4j-tools) 02/02: Fix Spotless failures
This is an automated email from the ASF dual-hosted git repository. vy pushed a commit to branch fix/docgen-plugin-subclass in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git commit 6d3610faab63a34e20a3bf97cfb1c2a2430eca83 Author: Volkan Yazıcı AuthorDate: Tue May 7 10:39:48 2024 +0200 Fix Spotless failures --- .../log4j/docgen/generator/internal/TypeLookup.java | 15 ++- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java index f87ba02..098ed22 100644 --- a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java +++ b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java @@ -16,6 +16,10 @@ */ package org.apache.logging.log4j.docgen.generator.internal; +import java.util.Iterator; +import java.util.Set; +import java.util.TreeMap; +import java.util.function.Predicate; import org.apache.logging.log4j.docgen.AbstractType; import org.apache.logging.log4j.docgen.PluginSet; import org.apache.logging.log4j.docgen.PluginType; @@ -23,11 +27,6 @@ import org.apache.logging.log4j.docgen.ScalarType; import org.apache.logging.log4j.docgen.Type; import org.jspecify.annotations.Nullable; -import java.util.Iterator; -import java.util.Set; -import java.util.TreeMap; -import java.util.function.Predicate; - public final class TypeLookup extends TreeMap { private static final long serialVersionUID = 1L; @@ -54,7 +53,6 @@ public final class TypeLookup extends TreeMap { @SuppressWarnings("StatementWithEmptyBody") private void mergeScalarTypes(PluginSet pluginSet) { pluginSet.getScalars().forEach(newType -> { - final String className = newType.getClassName(); @Nullable final ArtifactSourcedType oldSourcedType = get(className); @@ -67,7 +65,8 @@ public final class TypeLookup extends TreeMap { // If the entry already exists and is of expected type, we should ideally extend it. // Since Modello doesn't generate `hashCode()`, `equals()`, etc. it is difficult to compare instances. // Hence, we will be lazy, and just assume they are the same. -else if (oldSourcedType.type instanceof ScalarType) {} +else if (oldSourcedType.type instanceof ScalarType) { +} // If the entry already exists, but with an unexpected type, fail else { @@ -87,7 +86,6 @@ public final class TypeLookup extends TreeMap { private void mergeAbstractTypes(PluginSet pluginSet) { pluginSet.getAbstractTypes().forEach(newType -> { - final String className = newType.getClassName(); @Nullable final ArtifactSourcedType oldSourcedType = get(className); @@ -112,7 +110,6 @@ public final class TypeLookup extends TreeMap { private void mergePluginTypes(PluginSet pluginSet) { pluginSet.getPlugins().forEach(newType -> { - final String className = newType.getClassName(); @Nullable final ArtifactSourcedType oldSourcedType = get(className);
(logging-log4j-tools) branch dependabot/maven/org.apache.maven.plugin-tools-maven-plugin-annotations-3.13.0 updated (41ab6f7 -> 76d54b1)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/maven/org.apache.maven.plugin-tools-maven-plugin-annotations-3.13.0 in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git omit 41ab6f7 Bump org.apache.maven.plugin-tools:maven-plugin-annotations add bc33fa0 Update `org.codehaus.modello:modello-maven-plugin` to version `2.4.0` (#119) add f8b0cb4 Fix handling of subclassed plugins in Log4j Docgen (#117) add f9e80c3 Revert "Fix handling of subclassed plugins in Log4j Docgen (#117)" add 76d54b1 Bump org.apache.maven.plugin-tools:maven-plugin-annotations This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (41ab6f7) \ N -- N -- N refs/heads/dependabot/maven/org.apache.maven.plugin-tools-maven-plugin-annotations-3.13.0 (76d54b1) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: log4j-tools-parent/pom.xml| 2 +- .../update_org_codehaus_modello_modello_maven_plugin.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) copy src/changelog/{0.8.0 => .0.x.x}/update_org_codehaus_modello_modello_maven_plugin.xml (72%)
(logging-log4j-tools) branch main-site-stg-out updated: Add `.asf.yaml` along with an INFRA fix for the website content generated from `f9e80c3dcaa2911a3bb7a4d2f9963cd8c6330d91`
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-log4j-tools.git The following commit(s) were added to refs/heads/main-site-stg-out by this push: new cd28a15 Add `.asf.yaml` along with an INFRA fix for the website content generated from `f9e80c3dcaa2911a3bb7a4d2f9963cd8c6330d91` cd28a15 is described below commit cd28a15b07025b8f3f4adf0fd7d84214a7c512c7 Author: ASF Logging Services RM AuthorDate: Tue May 7 08:35:58 2024 + Add `.asf.yaml` along with an INFRA fix for the website content generated from `f9e80c3dcaa2911a3bb7a4d2f9963cd8c6330d91` --- .asf.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index b628995..9fbd21b 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -9,6 +9,6 @@ staging: # # Random values to cause a change: # -# - Seed: 30437 -# - Commit ID: f8b0cb45bdf40cb90bcb85595c05a5ddadf15877 -# - Timestamp: 2024-05-07T08:35:14Z +# - Seed: 9355 +# - Commit ID: f9e80c3dcaa2911a3bb7a4d2f9963cd8c6330d91 +# - Timestamp: 2024-05-07T08:35:58Z
(logging-log4j-tools) branch main-site-stg-out updated: Add website content generated from `f9e80c3dcaa2911a3bb7a4d2f9963cd8c6330d91`
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-log4j-tools.git The following commit(s) were added to refs/heads/main-site-stg-out by this push: new 73777e1 Add website content generated from `f9e80c3dcaa2911a3bb7a4d2f9963cd8c6330d91` 73777e1 is described below commit 73777e16f9bbb2ca591d422732266335a7f0a35c Author: ASF Logging Services RM AuthorDate: Tue May 7 08:35:58 2024 + Add website content generated from `f9e80c3dcaa2911a3bb7a4d2f9963cd8c6330d91` --- release-notes.html | 10 -- sitemap.xml| 16 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/release-notes.html b/release-notes.html index ecc2026..b439e3e 100644 --- a/release-notes.html +++ b/release-notes.html @@ -136,16 +136,6 @@ -Fixed - - - -Fix handling of subclassed plugins in Log4j Docgen (https://github.com/apache/logging-log4j-tools/issues/117;>117) - - - - - Updated diff --git a/sitemap.xml b/sitemap.xml index b033125..414ce93 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,34 +2,34 @@ http://www.sitemaps.org/schemas/sitemap/0.9;> https://logging.apache.org/log4j/kotlin/development.html -2024-05-07T08:35:09.560Z +2024-05-07T08:35:55.728Z https://logging.apache.org/log4j/kotlin/index.html -2024-05-07T08:35:09.560Z +2024-05-07T08:35:55.728Z https://logging.apache.org/log4j/kotlin/log4j-changelog-maven-plugin.html -2024-05-07T08:35:09.560Z +2024-05-07T08:35:55.728Z https://logging.apache.org/log4j/kotlin/log4j-changelog.html -2024-05-07T08:35:09.560Z +2024-05-07T08:35:55.728Z https://logging.apache.org/log4j/kotlin/log4j-docgen-asciidoctor-extension.html -2024-05-07T08:35:09.560Z +2024-05-07T08:35:55.728Z https://logging.apache.org/log4j/kotlin/log4j-docgen-maven-plugin.html -2024-05-07T08:35:09.560Z +2024-05-07T08:35:55.728Z https://logging.apache.org/log4j/kotlin/log4j-docgen.html -2024-05-07T08:35:09.560Z +2024-05-07T08:35:55.728Z https://logging.apache.org/log4j/kotlin/release-notes.html -2024-05-07T08:35:09.560Z +2024-05-07T08:35:55.728Z
(logging-log4j-tools) branch fix/docgen-plugin-subclass created (now f8b0cb4)
This is an automated email from the ASF dual-hosted git repository. vy pushed a change to branch fix/docgen-plugin-subclass in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git at f8b0cb4 Fix handling of subclassed plugins in Log4j Docgen (#117) No new revisions were added by this update.
(logging-log4j-tools) branch main updated: Revert "Fix handling of subclassed plugins in Log4j Docgen (#117)"
This is an automated email from the ASF dual-hosted git repository. vy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git The following commit(s) were added to refs/heads/main by this push: new f9e80c3 Revert "Fix handling of subclassed plugins in Log4j Docgen (#117)" f9e80c3 is described below commit f9e80c3dcaa2911a3bb7a4d2f9963cd8c6330d91 Author: Volkan Yazıcı AuthorDate: Tue May 7 10:35:24 2024 +0200 Revert "Fix handling of subclassed plugins in Log4j Docgen (#117)" This reverts commit f8b0cb45bdf40cb90bcb85595c05a5ddadf15877. --- .../docgen/generator/internal/TypeLookup.java | 125 +++-- .../docgen/processor/DescriptorGenerator.java | 40 +++ src/changelog/.0.x.x/fix-docgen-duplicate-type.xml | 8 -- 3 files changed, 30 insertions(+), 143 deletions(-) diff --git a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java index f87ba02..d32bd00 100644 --- a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java +++ b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java @@ -16,17 +16,14 @@ */ package org.apache.logging.log4j.docgen.generator.internal; -import org.apache.logging.log4j.docgen.AbstractType; -import org.apache.logging.log4j.docgen.PluginSet; -import org.apache.logging.log4j.docgen.PluginType; -import org.apache.logging.log4j.docgen.ScalarType; -import org.apache.logging.log4j.docgen.Type; -import org.jspecify.annotations.Nullable; - import java.util.Iterator; import java.util.Set; import java.util.TreeMap; import java.util.function.Predicate; +import org.apache.logging.log4j.docgen.AbstractType; +import org.apache.logging.log4j.docgen.PluginSet; +import org.apache.logging.log4j.docgen.PluginType; +import org.jspecify.annotations.Nullable; public final class TypeLookup extends TreeMap { @@ -45,108 +42,18 @@ public final class TypeLookup extends TreeMap { private void mergeDescriptors(Iterable pluginSets) { pluginSets.forEach(pluginSet -> { -mergeScalarTypes(pluginSet); -mergeAbstractTypes(pluginSet); -mergePluginTypes(pluginSet); -}); -} - -@SuppressWarnings("StatementWithEmptyBody") -private void mergeScalarTypes(PluginSet pluginSet) { -pluginSet.getScalars().forEach(newType -> { - -final String className = newType.getClassName(); -@Nullable final ArtifactSourcedType oldSourcedType = get(className); - -// If the entry doesn't exist yet, add it -if (oldSourcedType == null) { -final ArtifactSourcedType newSourcedType = ArtifactSourcedType.ofPluginSet(pluginSet, newType); -put(className, newSourcedType); -} - -// If the entry already exists and is of expected type, we should ideally extend it. -// Since Modello doesn't generate `hashCode()`, `equals()`, etc. it is difficult to compare instances. -// Hence, we will be lazy, and just assume they are the same. -else if (oldSourcedType.type instanceof ScalarType) {} - -// If the entry already exists, but with an unexpected type, fail -else { -conflictingTypeFailure(className, oldSourcedType.type, newType); -} -}); -} - -private static void conflictingTypeFailure(final String className, final Type oldType, final Type newType) { -final String message = String.format( -"`%s` class occurs multiple times with conflicting types: `%s` and `%s`", -className, -oldType.getClass().getSimpleName(), -newType.getClass().getSimpleName()); -throw new IllegalArgumentException(message); -} - -private void mergeAbstractTypes(PluginSet pluginSet) { -pluginSet.getAbstractTypes().forEach(newType -> { - -final String className = newType.getClassName(); -@Nullable final ArtifactSourcedType oldSourcedType = get(className); - -// If the entry doesn't exist yet, add it -if (oldSourcedType == null) { -final ArtifactSourcedType newSourcedType = ArtifactSourcedType.ofPluginSet(pluginSet, newType); -put(className, newSourcedType); -} - -// If the entry already exists and is of expected type, extend it -else if (oldSourcedType.type instanceof AbstractType) { -final AbstractType oldType = (AbstractType) oldSourcedType.type; - newType.getImplementations().forEach(oldType::addImplementation); -} - -// If the entry already exists, but with an unexpected type, fail -else { -
(logging-log4j-tools) branch main-site-stg-out updated: Add `.asf.yaml` along with an INFRA fix for the website content generated from `f8b0cb45bdf40cb90bcb85595c05a5ddadf15877`
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-log4j-tools.git The following commit(s) were added to refs/heads/main-site-stg-out by this push: new 3c161f8 Add `.asf.yaml` along with an INFRA fix for the website content generated from `f8b0cb45bdf40cb90bcb85595c05a5ddadf15877` 3c161f8 is described below commit 3c161f878f674c78525672fd461cbd2674f914b4 Author: ASF Logging Services RM AuthorDate: Tue May 7 08:35:14 2024 + Add `.asf.yaml` along with an INFRA fix for the website content generated from `f8b0cb45bdf40cb90bcb85595c05a5ddadf15877` --- .asf.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index 8720fc7..b628995 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -9,6 +9,6 @@ staging: # # Random values to cause a change: # -# - Seed: 3608 -# - Commit ID: 378402c7c03390c29713da86d7ebafb33e60f879 -# - Timestamp: 2024-05-01T15:00:26Z +# - Seed: 30437 +# - Commit ID: f8b0cb45bdf40cb90bcb85595c05a5ddadf15877 +# - Timestamp: 2024-05-07T08:35:14Z
(logging-log4j-tools) branch main-site-stg-out updated: Add website content generated from `f8b0cb45bdf40cb90bcb85595c05a5ddadf15877`
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-log4j-tools.git The following commit(s) were added to refs/heads/main-site-stg-out by this push: new 6405c74 Add website content generated from `f8b0cb45bdf40cb90bcb85595c05a5ddadf15877` 6405c74 is described below commit 6405c7447ea934d0ddb590b9548c53e04116eb0a Author: ASF Logging Services RM AuthorDate: Tue May 7 08:35:13 2024 + Add website content generated from `f8b0cb45bdf40cb90bcb85595c05a5ddadf15877` --- release-notes.html | 13 + sitemap.xml| 16 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/release-notes.html b/release-notes.html index 167ff5a..ecc2026 100644 --- a/release-notes.html +++ b/release-notes.html @@ -136,6 +136,16 @@ +Fixed + + + +Fix handling of subclassed plugins in Log4j Docgen (https://github.com/apache/logging-log4j-tools/issues/117;>117) + + + + + Updated @@ -149,6 +159,9 @@ Update org.apache.maven.plugin-tools:maven-plugin-annotations to version 3.12.0 (https://github.com/apache/logging-log4j-tools/pull/113;>113) +Update org.codehaus.modello:modello-maven-plugin to version 2.4.0 (https://github.com/apache/logging-log4j-tools/pull/119;>119) + + Update org.xmlunit:xmlunit-assertj3 to version 2.10.0 (https://github.com/apache/logging-log4j-tools/pull/116;>116) diff --git a/sitemap.xml b/sitemap.xml index 0587789..b033125 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,34 +2,34 @@ http://www.sitemaps.org/schemas/sitemap/0.9;> https://logging.apache.org/log4j/kotlin/development.html -2024-05-01T15:00:21.195Z +2024-05-07T08:35:09.560Z https://logging.apache.org/log4j/kotlin/index.html -2024-05-01T15:00:21.195Z +2024-05-07T08:35:09.560Z https://logging.apache.org/log4j/kotlin/log4j-changelog-maven-plugin.html -2024-05-01T15:00:21.195Z +2024-05-07T08:35:09.560Z https://logging.apache.org/log4j/kotlin/log4j-changelog.html -2024-05-01T15:00:21.195Z +2024-05-07T08:35:09.560Z https://logging.apache.org/log4j/kotlin/log4j-docgen-asciidoctor-extension.html -2024-05-01T15:00:21.195Z +2024-05-07T08:35:09.560Z https://logging.apache.org/log4j/kotlin/log4j-docgen-maven-plugin.html -2024-05-01T15:00:21.195Z +2024-05-07T08:35:09.560Z https://logging.apache.org/log4j/kotlin/log4j-docgen.html -2024-05-01T15:00:21.195Z +2024-05-07T08:35:09.560Z https://logging.apache.org/log4j/kotlin/release-notes.html -2024-05-01T15:00:21.195Z +2024-05-07T08:35:09.560Z
(logging-log4j-tools) branch main updated: Fix handling of subclassed plugins in Log4j Docgen (#117)
This is an automated email from the ASF dual-hosted git repository. vy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git The following commit(s) were added to refs/heads/main by this push: new f8b0cb4 Fix handling of subclassed plugins in Log4j Docgen (#117) f8b0cb4 is described below commit f8b0cb45bdf40cb90bcb85595c05a5ddadf15877 Author: Volkan Yazıcı AuthorDate: Tue May 7 10:34:25 2024 +0200 Fix handling of subclassed plugins in Log4j Docgen (#117) --- .../docgen/generator/internal/TypeLookup.java | 125 ++--- .../docgen/processor/DescriptorGenerator.java | 40 --- src/changelog/.0.x.x/fix-docgen-duplicate-type.xml | 8 ++ 3 files changed, 143 insertions(+), 30 deletions(-) diff --git a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java index d32bd00..f87ba02 100644 --- a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java +++ b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/internal/TypeLookup.java @@ -16,15 +16,18 @@ */ package org.apache.logging.log4j.docgen.generator.internal; -import java.util.Iterator; -import java.util.Set; -import java.util.TreeMap; -import java.util.function.Predicate; import org.apache.logging.log4j.docgen.AbstractType; import org.apache.logging.log4j.docgen.PluginSet; import org.apache.logging.log4j.docgen.PluginType; +import org.apache.logging.log4j.docgen.ScalarType; +import org.apache.logging.log4j.docgen.Type; import org.jspecify.annotations.Nullable; +import java.util.Iterator; +import java.util.Set; +import java.util.TreeMap; +import java.util.function.Predicate; + public final class TypeLookup extends TreeMap { private static final long serialVersionUID = 1L; @@ -42,18 +45,108 @@ public final class TypeLookup extends TreeMap { private void mergeDescriptors(Iterable pluginSets) { pluginSets.forEach(pluginSet -> { -pluginSet.getScalars().forEach(scalar -> { -final ArtifactSourcedType sourcedType = ArtifactSourcedType.ofPluginSet(pluginSet, scalar); -putIfAbsent(scalar.getClassName(), sourcedType); -}); -pluginSet.getAbstractTypes().forEach(abstractType -> { -final ArtifactSourcedType sourcedType = ArtifactSourcedType.ofPluginSet(pluginSet, abstractType); -putIfAbsent(abstractType.getClassName(), sourcedType); -}); -pluginSet.getPlugins().forEach(pluginType -> { -final ArtifactSourcedType sourcedType = ArtifactSourcedType.ofPluginSet(pluginSet, pluginType); -putIfAbsent(pluginType.getClassName(), sourcedType); -}); +mergeScalarTypes(pluginSet); +mergeAbstractTypes(pluginSet); +mergePluginTypes(pluginSet); +}); +} + +@SuppressWarnings("StatementWithEmptyBody") +private void mergeScalarTypes(PluginSet pluginSet) { +pluginSet.getScalars().forEach(newType -> { + +final String className = newType.getClassName(); +@Nullable final ArtifactSourcedType oldSourcedType = get(className); + +// If the entry doesn't exist yet, add it +if (oldSourcedType == null) { +final ArtifactSourcedType newSourcedType = ArtifactSourcedType.ofPluginSet(pluginSet, newType); +put(className, newSourcedType); +} + +// If the entry already exists and is of expected type, we should ideally extend it. +// Since Modello doesn't generate `hashCode()`, `equals()`, etc. it is difficult to compare instances. +// Hence, we will be lazy, and just assume they are the same. +else if (oldSourcedType.type instanceof ScalarType) {} + +// If the entry already exists, but with an unexpected type, fail +else { +conflictingTypeFailure(className, oldSourcedType.type, newType); +} +}); +} + +private static void conflictingTypeFailure(final String className, final Type oldType, final Type newType) { +final String message = String.format( +"`%s` class occurs multiple times with conflicting types: `%s` and `%s`", +className, +oldType.getClass().getSimpleName(), +newType.getClass().getSimpleName()); +throw new IllegalArgumentException(message); +} + +private void mergeAbstractTypes(PluginSet pluginSet) { +pluginSet.getAbstractTypes().forEach(newType -> { + +final String className = newType.getClassName(); +@Nullable final ArtifactSourcedType oldSourcedType = get(className); + +// If the entry doesn't exist yet,