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 020fe51d Automatic Site Publish by Buildbot
020fe51d is described below
commit 020fe51d5bf587659cf3f93bbbc8bb211450a04c
Author: buildbot <[email protected]>
AuthorDate: Sat Dec 2 13:00:02 2023 +0000
Automatic Site Publish by Buildbot
---
.../12/02/apache-common-logging-1.3.0.html} | 137 +++++++++++++++------
content/blog/index.html | 12 ++
content/feed.xml | 95 +++++++++++++-
3 files changed, 207 insertions(+), 37 deletions(-)
diff --git a/content/blog/index.html
b/content/blog/2023/12/02/apache-common-logging-1.3.0.html
similarity index 54%
copy from content/blog/index.html
copy to content/blog/2023/12/02/apache-common-logging-1.3.0.html
index e1b96a76..e1dea370 100644
--- a/content/blog/index.html
+++ b/content/blog/2023/12/02/apache-common-logging-1.3.0.html
@@ -151,50 +151,115 @@
<div class="container">
- <div class="content">
- <div class="container">
<div class="content">
<div class="hero-unit">
+
- <h1>Apache Logging Services Blog</h1>
- <p>Latest news from all Logging Services projects</p>
+ <h1>Upgrade to Apache Commons Logging 1.3.0</h1>
+ <p>Instructions to upgrade application to Apache Commons Logging
1.3.0.</p>
</div>
+ <time itemprop="datePublished" datetime="2023-12-02">
+ 02 Dec 2023
+ </time>
+
+ <div itemprop="text"><h1 id="apache-commons-logging">Apache Commons
Logging</h1>
+<p><a href="https://commons.apache.org/proper/commons-logging/">Apache Commons
Logging</a> (JCL) is one of the oldest Java logging API
+available.
+Released for the first time in 2002, it immediately saw a widespread adoption
in the Java community.</p>
- <ul class="post-list">
-
- <li>
- <div class="post-date">28 Nov 2023</div>
- <div class="post-title"><a
href="/blog/2023/11/28/new-pmc-member.html">Welcoming Stephen Webb to the
Apache Logging Services PMC</a></div>
- <div class="post-tags">
- <span class="post-tag">#Logging Services</span>
-
- <span class="post-tag">#Apache</span>
-
- <span class="post-tag">#Community</span>
-
- <span class="post-tag">#Open Source</span>
- </div>
- </li>
-
- <li>
- <div class="post-date">17 Nov 2023</div>
- <div class="post-title"><a
href="/blog/2023/11/17/flume-joins-logging-services.html">Welcoming Apache
Flume to Apache Logging Services</a></div>
- <div class="post-tags">
- <span class="post-tag">#Logging Services</span>
-
- <span class="post-tag">#Flume</span>
- </div>
- </li>
-
- </ul>
- </div>
-</div>
+<p>While newer APIs, like SLF4J and our own Log4j API, appeared over time,
even in 2023 it is hard to find an application stack
+that does not depend on JCL.
+According to Sonatype, Apache Commons Logging is used in <a
href="https://central.sonatype.com/artifact/commons-logging/commons-logging">over
1 million artifacts</a>,
+while the second place is taken by SLF4J with <a
href="https://central.sonatype.com/artifact/org.slf4j/slf4j-api">almost 40
thousand artifacts</a>.</p>
+<h2 id="version-130">Version 1.3.0</h2>
- </div>
-</div>
+<p>After more than 9 years since its previous release (version 1.2 released in
July 2014), Apache Commons Logging released
+a new 1.3.0 version today (cf. <a
href="https://lists.apache.org/thread/wx6v7wwhbnk64nx708hszctzv8fdsvdl">announcement</a>).
+Among the most prominent changes, the new version:</p>
+
+<ul>
+ <li>forwards logging to the Log4j API out-of-the-box (if present),</li>
+ <li>also supports forwarding to SLF4J,</li>
+ <li>adds support for the Java Platform Module System (JPMS) with the module
name <code class="language-plaintext
highlighter-rouge">org.apache.commons.logging</code>.</li>
+</ul>
+
+<h2 id="upgrade-instructions-log4j-corelogback">Upgrade instructions (Log4j
Core/Logback)</h2>
+
+<p>The upgrade path for users of the Log4j Core and Logback logging backends
is easy.
+The first step is upgrading <code class="language-plaintext
highlighter-rouge">commons-logging</code>.
+In Maven this can be done using dependency management.</p>
+
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><dependencyManagement></span>
+ <span class="nt"><dependencies></span>
+ <span class="nt"><dependency></span>
+ <span class="nt"><groupId></span>commons-logging<span
class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>commons-logging<span
class="nt"></artifactId></span>
+ <span class="nt"><version></span>1.3.0<span
class="nt"></version></span>
+ <span class="nt"></dependency></span>
+ <span class="nt"></dependencies></span>
+<span class="nt"></dependencyManagement></span>
+</code></pre></div></div>
+
+<p>The second step consists in removing obsolete dependencies.
+Since version 1.2 only supported old generation logging backends
out-of-the-box (<a href="https//logging.apache.org/log4j/1.2/">Log4j 1.x</a>,
+<a href="https//avalon.apache.org">Avalon</a> and <a
href="https://javalogging.sourceforge.net">Lumberjack</a>), the Java community
developed
+many <code class="language-plaintext highlighter-rouge">LogFactory</code>
implementations and complete Apache Commons Logging replacements:</p>
+
+<ul>
+ <li><a
href="https://mvnrepository.com/artifact/org.slf4j/jcl-over-slf4j"><code
class="language-plaintext
highlighter-rouge">org.slf4j:jcl-over-slf4j</code></a> (replacement),</li>
+ <li><a
href="https://mvnrepository.com/artifact/org.springframework/spring-jcl"><code
class="language-plaintext
highlighter-rouge">org.springframework:spring-jcl</code></a> (replacement),</li>
+ <li>our own <a
href="https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-jcl"><code
class="language-plaintext
highlighter-rouge">org.apache.logging.log4j:log4j-jcl</code></a>
+(<code class="language-plaintext highlighter-rouge">LogFactory</code>
implementation).</li>
+</ul>
+
+<p>These artifacts can be <strong>safely</strong> removed from your dependency
stack.
+For JPMS users this operation is even <strong>required</strong>.</p>
+<p>To do so Maven users can use exclusions:</p>
+
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><dependency></span>
+ <span class="nt"><groupId></span>org.springframework<span
class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>spring-jcl<span
class="nt"></artifactId></span>
+ <span class="nt"><exclusions></span>
+ <span class="nt"><exclusion></span>
+ <span class="nt"><groupId></span>org.springframework<span
class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>spring-jcl<span
class="nt"></artifactId></span>
+ <span class="nt"></exclusion></span>
+ <span class="nt"></exclusions></span>
+<span class="nt"></dependency></span>
+</code></pre></div></div>
+
+<p>and to prevent regressions, add those dependencies to a <a
href="https://maven.apache.org/enforcer/enforcer-rules/bannedDependencies.html"><code
class="language-plaintext highlighter-rouge">bannedDependencies</code> Maven
Enforcer rule</a>.</p>
+
+<h2 id="upgrade-instructions-log4j-1xreload4j-users">Upgrade instructions
(Log4j 1.x/Reload4j users)</h2>
+
+<p>For users that use Log4j 1.x or Reload4j as logging backend the upgrade is
more complicated: version 1.3.0 disabled the Log4j 1.x backend by default.</p>
+
+<p>Log4j 1.x/Reload4j users are:</p>
+
+<ul>
+ <li>encouraged to migrate to Log4j 2.x Core (cf. <a
href="https://logging.apache.org/log4j/2.x/manual/migration.html">migration
guide</a>) or Logback,</li>
+ <li>if that is not possible (or if a transitional period is required) they
need to add a <code class="language-plaintext
highlighter-rouge">commons-logging.properties</code> file to their applications
containing:</li>
+</ul>
+
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>org.apache.commons.logging.Log =
org.apache.commons.logging.impl.Log4JLogger
+</code></pre></div></div>
+
+<h2 id="jpms-users">JPMS users</h2>
+
+<p>The <code class="language-plaintext
highlighter-rouge">org.apache.commons.logging</code> JPMS module has an
<strong>optional</strong> dependency on the Log4j API.
+In order for the JVM to automatically add the <code class="language-plaintext
highlighter-rouge">org.apache.logging.log4j</code> module to your application’s
runtime, you need to add:</p>
+
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>requires org.apache.logging.log4j;
+</code></pre></div></div>
+
+<p>to your application’s module descriptor.</p>
+
+</div>
+ </div>
+</div>
<div class="footer">
<div class="container">
@@ -228,4 +293,4 @@
<noscript><p><img
src="https://analytics.apache.org/matomo.php?idsite=42&rec=1"
style="border:0;" alt="" /></p></noscript>
<!-- End Matomo Code -->
</body>
-</html>
+</html>
\ No newline at end of file
diff --git a/content/blog/index.html b/content/blog/index.html
index e1b96a76..d14e8d2c 100644
--- a/content/blog/index.html
+++ b/content/blog/index.html
@@ -163,6 +163,18 @@
<ul class="post-list">
+ <li>
+ <div class="post-date">02 Dec 2023</div>
+ <div class="post-title"><a
href="/blog/2023/12/02/apache-common-logging-1.3.0.html">Upgrade to Apache
Commons Logging 1.3.0</a></div>
+ <div class="post-tags">
+ <span class="post-tag">#Apache</span>
+
+ <span class="post-tag">#Commmons Logging</span>
+
+ <span class="post-tag">#Open Source</span>
+ </div>
+ </li>
+
<li>
<div class="post-date">28 Nov 2023</div>
<div class="post-title"><a
href="/blog/2023/11/28/new-pmc-member.html">Welcoming Stephen Webb to the
Apache Logging Services PMC</a></div>
diff --git a/content/feed.xml b/content/feed.xml
index ba2d9810..2955ca0c 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -1,4 +1,97 @@
-<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/"
version="4.2.2">Jekyll</generator><link href="/feed.xml" rel="self"
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html"
/><updated>2023-11-30T19:26:58+00:00</updated><id>/feed.xml</id><title
type="html">Apache Software Foundation - Logging
Services</title><subtitle>Write an awesome description for your new site here.
You can edit this line in _ [...]
+<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/"
version="4.2.2">Jekyll</generator><link href="/feed.xml" rel="self"
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html"
/><updated>2023-12-02T13:00:01+00:00</updated><id>/feed.xml</id><title
type="html">Apache Software Foundation - Logging
Services</title><subtitle>Write an awesome description for your new site here.
You can edit this line in _ [...]
+
+<p><a href="https://commons.apache.org/proper/commons-logging/">Apache Commons
Logging</a> (JCL) is one of the oldest Java logging API
+available.
+Released for the first time in 2002, it immediately saw a widespread adoption
in the Java community.</p>
+
+<p>While newer APIs, like SLF4J and our own Log4j API, appeared over time,
even in 2023 it is hard to find an application stack
+that does not depend on JCL.
+According to Sonatype, Apache Commons Logging is used in <a
href="https://central.sonatype.com/artifact/commons-logging/commons-logging">over
1 million artifacts</a>,
+while the second place is taken by SLF4J with <a
href="https://central.sonatype.com/artifact/org.slf4j/slf4j-api">almost 40
thousand artifacts</a>.</p>
+
+<h2 id="version-130">Version 1.3.0</h2>
+
+<p>After more than 9 years since its previous release (version 1.2 released in
July 2014), Apache Commons Logging released
+a new 1.3.0 version today (cf. <a
href="https://lists.apache.org/thread/wx6v7wwhbnk64nx708hszctzv8fdsvdl">announcement</a>).
+Among the most prominent changes, the new version:</p>
+
+<ul>
+ <li>forwards logging to the Log4j API out-of-the-box (if present),</li>
+ <li>also supports forwarding to SLF4J,</li>
+ <li>adds support for the Java Platform Module System (JPMS) with the module
name <code class="language-plaintext
highlighter-rouge">org.apache.commons.logging</code>.</li>
+</ul>
+
+<h2 id="upgrade-instructions-log4j-corelogback">Upgrade instructions (Log4j
Core/Logback)</h2>
+
+<p>The upgrade path for users of the Log4j Core and Logback logging backends
is easy.
+The first step is upgrading <code class="language-plaintext
highlighter-rouge">commons-logging</code>.
+In Maven this can be done using dependency management.</p>
+
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><dependencyManagement></span>
+ <span class="nt"><dependencies></span>
+ <span class="nt"><dependency></span>
+ <span class="nt"><groupId></span>commons-logging<span
class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>commons-logging<span
class="nt"></artifactId></span>
+ <span class="nt"><version></span>1.3.0<span
class="nt"></version></span>
+ <span class="nt"></dependency></span>
+ <span class="nt"></dependencies></span>
+<span class="nt"></dependencyManagement></span>
+</code></pre></div></div>
+
+<p>The second step consists in removing obsolete dependencies.
+Since version 1.2 only supported old generation logging backends
out-of-the-box (<a href="https//logging.apache.org/log4j/1.2/">Log4j 1.x</a>,
+<a href="https//avalon.apache.org">Avalon</a> and <a
href="https://javalogging.sourceforge.net">Lumberjack</a>), the Java community
developed
+many <code class="language-plaintext highlighter-rouge">LogFactory</code>
implementations and complete Apache Commons Logging replacements:</p>
+
+<ul>
+ <li><a
href="https://mvnrepository.com/artifact/org.slf4j/jcl-over-slf4j"><code
class="language-plaintext
highlighter-rouge">org.slf4j:jcl-over-slf4j</code></a> (replacement),</li>
+ <li><a
href="https://mvnrepository.com/artifact/org.springframework/spring-jcl"><code
class="language-plaintext
highlighter-rouge">org.springframework:spring-jcl</code></a> (replacement),</li>
+ <li>our own <a
href="https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-jcl"><code
class="language-plaintext
highlighter-rouge">org.apache.logging.log4j:log4j-jcl</code></a>
+(<code class="language-plaintext highlighter-rouge">LogFactory</code>
implementation).</li>
+</ul>
+
+<p>These artifacts can be <strong>safely</strong> removed from your dependency
stack.
+For JPMS users this operation is even <strong>required</strong>.</p>
+
+<p>To do so Maven users can use exclusions:</p>
+
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><dependency></span>
+ <span class="nt"><groupId></span>org.springframework<span
class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>spring-jcl<span
class="nt"></artifactId></span>
+ <span class="nt"><exclusions></span>
+ <span class="nt"><exclusion></span>
+ <span class="nt"><groupId></span>org.springframework<span
class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>spring-jcl<span
class="nt"></artifactId></span>
+ <span class="nt"></exclusion></span>
+ <span class="nt"></exclusions></span>
+<span class="nt"></dependency></span>
+</code></pre></div></div>
+
+<p>and to prevent regressions, add those dependencies to a <a
href="https://maven.apache.org/enforcer/enforcer-rules/bannedDependencies.html"><code
class="language-plaintext highlighter-rouge">bannedDependencies</code> Maven
Enforcer rule</a>.</p>
+
+<h2 id="upgrade-instructions-log4j-1xreload4j-users">Upgrade instructions
(Log4j 1.x/Reload4j users)</h2>
+
+<p>For users that use Log4j 1.x or Reload4j as logging backend the upgrade is
more complicated: version 1.3.0 disabled the Log4j 1.x backend by default.</p>
+
+<p>Log4j 1.x/Reload4j users are:</p>
+
+<ul>
+ <li>encouraged to migrate to Log4j 2.x Core (cf. <a
href="https://logging.apache.org/log4j/2.x/manual/migration.html">migration
guide</a>) or Logback,</li>
+ <li>if that is not possible (or if a transitional period is required) they
need to add a <code class="language-plaintext
highlighter-rouge">commons-logging.properties</code> file to their applications
containing:</li>
+</ul>
+
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>org.apache.commons.logging.Log =
org.apache.commons.logging.impl.Log4JLogger
+</code></pre></div></div>
+
+<h2 id="jpms-users">JPMS users</h2>
+
+<p>The <code class="language-plaintext
highlighter-rouge">org.apache.commons.logging</code> JPMS module has an
<strong>optional</strong> dependency on the Log4j API.
+In order for the JVM to automatically add the <code class="language-plaintext
highlighter-rouge">org.apache.logging.log4j</code> module to your application’s
runtime, you need to add:</p>
+
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>requires org.apache.logging.log4j;
+</code></pre></div></div>
+
+<p>to your application’s module
descriptor.</p>]]></content><author><name></name></author><category
term="Apache" /><category term="Commmons Logging" /><category term="Open
Source" /><summary type="html"><![CDATA[Instructions to upgrade application to
Apache Commons Logging 1.3.0.]]></summary></entry><entry><title
type="html">Welcoming Stephen Webb to the Apache Logging Services
PMC</title><link href="/blog/2023/11/28/new-pmc-member.html" rel="alternate"
type="text/html" title="Welcoming [...]
<p>We are thrilled to take this moment to celebrate and acknowledge Stephen
Webb,
who joined the Apache Logging Services community back in 2020.