1
0

Merge from master

This commit is contained in:
Gary D. Gregory
2025-01-31 09:46:57 -05:00
36 changed files with 282 additions and 182 deletions

15
.gitattributes vendored
View File

@@ -1 +1,16 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
* text=auto * text=auto

28
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,28 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
Thanks for your contribution to [Apache Commons](https://commons.apache.org/)! Your help is appreciated!
Before you push a pull request, review this list:
- [ ] Read the [contribution guidelines](CONTRIBUTING.md) for this project.
- [ ] Run a successful build using the default [Maven](https://maven.apache.org/) goal with `mvn`; that's `mvn` on the command line by itself.
- [ ] Write unit tests that match behavioral changes, where the tests fail if the changes to the runtime are not applied. This may not always be possible but is a best-practice.
- [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
- [ ] Each commit in the pull request should have a meaningful subject line and body. Note that commits might be squashed by a maintainer on merge.

View File

@@ -48,7 +48,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2 - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with: with:
path: ~/.m2/repository path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
@@ -57,7 +57,7 @@ jobs:
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # 3.27.5 uses: github/codeql-action/init@dd746615b3b9d728a6a37ca2045b68ca76d4841a # 3.28.8
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file. # If you wish to specify custom queries, you can do so here or in a config file.
@@ -68,7 +68,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below) # If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild - name: Autobuild
uses: github/codeql-action/autobuild@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # 3.27.5 uses: github/codeql-action/autobuild@dd746615b3b9d728a6a37ca2045b68ca76d4841a # 3.28.8
# Command-line programs to run using the OS shell. # Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl # 📚 https://git.io/JvXDl
@@ -82,4 +82,4 @@ jobs:
# make release # make release
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # 3.27.5 uses: github/codeql-action/analyze@dd746615b3b9d728a6a37ca2045b68ca76d4841a # 3.28.8

View File

@@ -39,7 +39,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK ${{ matrix.java }} - name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: ${{ matrix.java }} java-version: ${{ matrix.java }}

View File

@@ -57,13 +57,13 @@ jobs:
publish_results: true publish_results: true
- name: "Upload artifact" - name: "Upload artifact"
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # 4.4.3 uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
with: with:
name: SARIF file name: SARIF file
path: results.sarif path: results.sarif
retention-days: 5 retention-days: 5
- name: "Upload to code-scanning" - name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # 3.27.5 uses: github/codeql-action/upload-sarif@dd746615b3b9d728a6a37ca2045b68ca76d4841a # 3.28.8
with: with:
sarif_file: results.sarif sarif_file: results.sarif

1
.gitignore vendored
View File

@@ -29,3 +29,4 @@
### VS Code ### ### VS Code ###
.vscode/ .vscode/
/.DS_Store

View File

@@ -6,7 +6,7 @@
(the "License"); you may not use this file except in compliance with (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
@@ -60,18 +60,21 @@ Making Changes
-------------- --------------
+ Create a _topic branch_ for your isolated work. + Create a _topic branch_ for your isolated work.
* Usually you should base your branch on the `master` branch. * Usually you should base your branch from the `master` branch.
* A good topic branch name can be the JIRA bug ID plus a keyword, e.g. `LOGGING-123-InputStream`. * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. `LOGGING-123-InputStream`.
* If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests. * If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests.
+ Make commits of logical units. + Make commits of logical units.
* Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue. * Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue.
* e.g. `LOGGING-123: Close input stream earlier` * For example, `[LOGGING-123] Close input stream sooner`
+ Respect the original code style: + Respect the original code style:
+ Only use spaces for indentation. + Only use spaces for indentation; you can check for unnecessary whitespace with `git diff` before committing.
+ Create minimal diffs - disable _On Save_ actions like _Reformat Source Code_ or _Organize Imports_. If you feel the source code should be reformatted create a separate PR for this change first. + Create minimal diffs - disable _On Save_ actions like _Reformat Source Code_ or _Organize Imports_. If you feel the source code should be reformatted create a separate PR for this change first.
+ Check for unnecessary whitespace with `git diff` -- check before committing. + Write unit tests that match behavioral changes, where the tests fail if the changes to the runtime are not applied. This may not always be possible but is a best-practice.
+ Make sure you have added the necessary tests for your changes, typically in `src/test/java`. Unit tests are typically in the `src/test/java` directory.
+ Run all the tests with `mvn clean verify` to ensure nothing else was accidentally broken. + Run a successful build using the default [Maven](https://maven.apache.org/) goal with `mvn`; that's `mvn` on the command line by itself.
+ Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
+ Each commit in the pull request should have a meaningful subject line and body. Note that commits might be squashed by a maintainer on merge.
Making Trivial Changes Making Trivial Changes
---------------------- ----------------------
@@ -79,7 +82,7 @@ Making Trivial Changes
The JIRA tickets are used to generate the changelog for the next release. The JIRA tickets are used to generate the changelog for the next release.
For changes of a trivial nature to comments and documentation, it is not always necessary to create a new ticket in JIRA. For changes of a trivial nature to comments and documentation, it is not always necessary to create a new ticket in JIRA.
In this case, it is appropriate to start the first line of a commit with '(doc)' instead of a ticket number. In this case, it is appropriate to start the first line of a commit with '[doc]' or '[javadoc]' instead of a ticket number.
Submitting Changes Submitting Changes

View File

@@ -1,5 +1,5 @@
Apache Commons Logging Apache Commons Logging
Copyright 2001-2024 The Apache Software Foundation Copyright 2001-2025 The Apache Software Foundation
This product includes software developed at This product includes software developed at
The Apache Software Foundation (https://www.apache.org/). The Apache Software Foundation (https://www.apache.org/).

View File

@@ -21,7 +21,7 @@
<head> <head>
<title>Proposal for Logging Library Package</title> <title>Proposal for Logging Library Package</title>
</head> </head>
<body bgcolor="white"> <body>
<div align="center"> <div align="center">
<h1>Proposal for <em>Logging</em> Package</h1> <h1>Proposal for <em>Logging</em> Package</h1>

View File

@@ -6,7 +6,7 @@
(the "License"); you may not use this file except in compliance with (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,

View File

@@ -12,6 +12,47 @@ Changes in this version
----------------------- -----------------------
Fixed Bugs
----------
* Javadoc is missing its Overview page. Thanks to Gary Gregory.
* Remove -nouses directive from maven-bundle-plugin. OSGi package imports now state 'uses' definitions for package imports, this doesn't affect JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.
Changes
-------
* Bump org.apache.commons:commons-parent from 72 to 81 #285, #287, #295, #298, #303, #310, #339. Thanks to Gary Gregory, Dependabot.
* Bump org.apache.commons:commons-lang3 from 3.16.0 to 3.17.0 #288 [test]. Thanks to Gary Gregory, Dependabot.
* Bump log4j2.version from 2.23.1 to 2.24.3 #292, #299, #319, #328. Thanks to Gary Gregory, Dependabot.
Removed:
* Remove "cobertura" plugin, we use JaCoco, Cobertura is unmaintained. Thanks to Gary Gregory.
Historical list of changes: https://commons.apache.org/proper/commons-logging/changes.html
Download it from https://commons.apache.org/proper/commons-logging/download_logging.cgi
For complete information on Apache Commons Logging, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Logging website:
https://commons.apache.org/proper/commons-logging/
-----------------------------------------------------------------------------
Apache Commons Logging 1.3.5 Release Notes
------------------------------------------
The Apache Commons Logging team is pleased to announce the release of Apache Commons Logging 1.3.5.
Apache Commons Logging is a thin adapter allowing configurable bridging to other,
well-known logging systems.
This is a feature and maintenance release. Java 8 or later is required.
Changes in this version
-----------------------
Changes Changes
------- -------
@@ -50,7 +91,7 @@ Changes in this version
Fixed Bugs Fixed Bugs
---------- ----------
* LOGGING-192: Fix factory loading from context class loader #280, #281. Thanks to Björn Kautler, Piotr Karwasz. * LOGGING-192: Fix factory loading from context class loader #280, #281. Thanks to Bj<EFBFBD>rn Kautler, Piotr Karwasz.
Changes Changes
------- -------
@@ -166,9 +207,9 @@ Fixed Bugs
* Remove references to very old JDK and Commons Logging versions #201. Thanks to Elliotte Rusty Harold. * Remove references to very old JDK and Commons Logging versions #201. Thanks to Elliotte Rusty Harold.
* Update from Logj 1 to the Log4j 2 API compatibility layer #231. Thanks to Gary Gregory, Piotr P. Karwasz. * Update from Logj 1 to the Log4j 2 API compatibility layer #231. Thanks to Gary Gregory, Piotr P. Karwasz.
* Allow Servlet 4 in OSGi environment #191. Thanks to Václav Haisman. * Allow Servlet 4 in OSGi environment #191. Thanks to V<EFBFBD>clav Haisman.
* Fix generics warnings #213. Thanks to Elliotte Rusty Harold. * Fix generics warnings #213. Thanks to Elliotte Rusty Harold.
* LOGGING-189: Fix Import-Package entry for org.slf4j #188. Thanks to Václav Haisman, Sebb, Hannes Wellmann, Gary Gregory, Piotr P. Karwasz. * LOGGING-189: Fix Import-Package entry for org.slf4j #188. Thanks to V<EFBFBD>clav Haisman, Sebb, Hannes Wellmann, Gary Gregory, Piotr P. Karwasz.
Changes Changes
------- -------

View File

@@ -21,21 +21,21 @@
<head> <head>
<title>Status File for Apache Commons "Logging" Component</title> <title>Status File for Apache Commons "Logging" Component</title>
<head> <head>
<body bgcolor="white"> <body>
<div>
<div align="center">
<h1>The Apache Commons <em>Logging</em> Component</h1> <h1>The Apache Commons <em>Logging</em> Component</h1>
<a href="#Introduction">[Introduction]</a> <ol>
<a href="#Dependencies">[Dependencies]</a> <li><a href="#Introduction">Introduction</a></li>
<a href="#Release Info">[Release Info]</a> <li><a href="#Dependencies">Dependencies</a></li>
<a href="#Committers">[Committers]</a> <li><a href="#Release Info">Release Info</a></li>
<a href="#Action Items">[Action Items]</a> <li><a href="#Committers">Committers</a></li>
<br /><br /> <li><a href="#Action Items">Action Items</a></li>
</ol>
</div> </div>
<a name="Introduction"></a> <a id="Introduction"></a>
<h3>1. INTRODUCTION</h3> <h3>1. INTRODUCTION</h3>
@@ -54,6 +54,7 @@ developer to not tie himself to a particular logging implementation.
<p> <p>
The package does : The package does :
</p>
<ul> <ul>
<li>Have an API which should be as simple to use as possible</li> <li>Have an API which should be as simple to use as possible</li>
<li>Provide support for Avalon's Logkit</li> <li>Provide support for Avalon's Logkit</li>
@@ -65,19 +66,17 @@ The package does :
<li>Provide pluggable support for other logging APIs</li> <li>Provide pluggable support for other logging APIs</li>
<li>Provide a simple System.out logger</li> <li>Provide a simple System.out logger</li>
</ul> </ul>
</p>
<p> <p>
Non-goals: Non-goals:
</p>
<ul> <ul>
<li>This package will not perform logging itself, except at the most basic <li>This package will not perform logging itself, except at the most basic
level.</li> level.</li>
<li>We do not seek to become a "standard" API.</li> <li>We do not seek to become a "standard" API.</li>
</ul> </ul>
</p>
<a id="Dependencies"></a>
<a name="Dependencies"></a>
<h3>2. DEPENDENCIES</h3> <h3>2. DEPENDENCIES</h3>
<p>The <em>Logging</em> component is dependent upon the following external <p>The <em>Logging</em> component is dependent upon the following external
@@ -99,7 +98,7 @@ components for compilation:</p>
<p> Of course, the user must ensure that any logging systems that they wish <p> Of course, the user must ensure that any logging systems that they wish
to use are present in the classpath when they use this component. </p> to use are present in the classpath when they use this component. </p>
<a name="Release Info"></a> <a id="Release Info"></a>
<h3>3. RELEASE INFO</h3> <h3>3. RELEASE INFO</h3>
<table border="1"> <table border="1">
@@ -133,9 +132,7 @@ to use are present in the classpath when they use this component. </p>
<p>Planned Next Release: TBD</p> <p>Planned Next Release: TBD</p>
<a id="Committers"></a>
<a name="Committers"></a>
<h3>4. COMMITTERS</h3> <h3>4. COMMITTERS</h3>
<p>The following individuals are the primary developers and maintainers of this <p>The following individuals are the primary developers and maintainers of this
@@ -154,11 +151,10 @@ component to ensure that it continues to meet a variety of needs.</p>
<li>Juozas Baliuka</li> <li>Juozas Baliuka</li>
</ul> </ul>
<a id="Action Items"></a>
<a name="Action Items"></a>
<h3>5. ACTION ITEMS</h3> <h3>5. ACTION ITEMS</h3>
<p>TO DO List:</p> <p>TO DO List: Empty.</p>
<table border="1"> <table border="1">
<tr> <tr>

11
pom.xml
View File

@@ -16,7 +16,7 @@ KIND, either express or implied. See the License for the
specific language governing permissions and limitations specific language governing permissions and limitations
under the License. under the License.
--> -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- <!--
Note that due to the special requirements of logging unit-tests, most Note that due to the special requirements of logging unit-tests, most
tests are executed in the "integration-test" phase rather than the tests are executed in the "integration-test" phase rather than the
@@ -26,7 +26,7 @@ under the License.
<parent> <parent>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-parent</artifactId> <artifactId>commons-parent</artifactId>
<version>78</version> <version>81</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>commons-logging</groupId> <groupId>commons-logging</groupId>
@@ -50,13 +50,13 @@ under the License.
<commons.jira.id>LOGGING</commons.jira.id> <commons.jira.id>LOGGING</commons.jira.id>
<commons.jira.pid>12310484</commons.jira.pid> <commons.jira.pid>12310484</commons.jira.pid>
<!-- The RC version used in the staging repository URL. --> <!-- The RC version used in the staging repository URL. -->
<commons.rc.version>RC1</commons.rc.version> <commons.rc.version>RC2</commons.rc.version>
<skipSurefireReport>true</skipSurefireReport> <skipSurefireReport>true</skipSurefireReport>
<!-- Since version 3.2 additional classpath dependencies are allowed. --> <!-- Since version 3.2 additional classpath dependencies are allowed. -->
<commons.failsafe.version>3.2.1</commons.failsafe.version> <commons.failsafe.version>3.2.1</commons.failsafe.version>
<!-- Allow default test run order to be changed --> <!-- Allow default test run order to be changed -->
<failsafe.runorder>filesystem</failsafe.runorder> <failsafe.runorder>filesystem</failsafe.runorder>
<log4j2.version>2.24.2</log4j2.version> <log4j2.version>2.24.3</log4j2.version>
<logback.version>1.3.14</logback.version> <logback.version>1.3.14</logback.version>
<slf4j.version>2.0.16</slf4j.version> <slf4j.version>2.0.16</slf4j.version>
<findsecbugs.version>1.13.0</findsecbugs.version> <findsecbugs.version>1.13.0</findsecbugs.version>
@@ -71,7 +71,8 @@ under the License.
org.slf4j;version="[1.7, 3)";resolution:=optional, org.slf4j;version="[1.7, 3)";resolution:=optional,
org.slf4j.spi;version="[1.7, 3)";resolution:=optional org.slf4j.spi;version="[1.7, 3)";resolution:=optional
</commons.osgi.import> </commons.osgi.import>
<project.build.outputTimestamp>2024-11-22T15:35:19Z</project.build.outputTimestamp> <!-- project.build.outputTimestamp is managed by Maven plugins, see https://maven.apache.org/guides/mini/guide-reproducible-builds.html -->
<project.build.outputTimestamp>2024-08-19T13:43:35Z</project.build.outputTimestamp>
<!-- JaCoCo: Don't make code coverage worse than: --> <!-- JaCoCo: Don't make code coverage worse than: -->
<commons.jacoco.haltOnFailure>true</commons.jacoco.haltOnFailure> <commons.jacoco.haltOnFailure>true</commons.jacoco.haltOnFailure>
<commons.jacoco.classRatio>0.42</commons.jacoco.classRatio> <commons.jacoco.classRatio>0.42</commons.jacoco.classRatio>

View File

@@ -38,18 +38,22 @@ and commit
The <action> type attribute can be add,update,fix,remove. The <action> type attribute can be add,update,fix,remove.
--> -->
<document xmlns="http://maven.apache.org/changes/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd"> <document xmlns="http://maven.apache.org/changes/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/changes/2.0.0 https://maven.apache.org/xsd/changes-2.0.0.xsd">
<properties> <properties>
<title>Release Notes</title> <title>Release Notes</title>
</properties> </properties>
<body> <body>
<release version="1.3.5" date="2024-11-22" description="This is a feature and maintenance release. Java 8 or later is required."> <release version="1.3.5" date="2025-01-31" description="This is a feature and maintenance release. Java 8 or later is required.">
<!-- FIX --> <!-- FIX -->
<action dev="ggregory" type="fix" due-to="Gary Gregory">Javadoc is missing its Overview page.</action>
<action dev="ggregory" type="fix" due-to="Gary Gregory">Remove -nouses directive from maven-bundle-plugin. OSGi package imports now state 'uses' definitions for package imports, this doesn't affect JPMS (from org.apache.commons:commons-parent:80).</action>
<!-- ADD --> <!-- ADD -->
<!-- UPDATE --> <!-- UPDATE -->
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-parent from 72 to 78 #285, #287, #295, #298, #303, #310.</action> <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-parent from 72 to 81 #285, #287, #295, #298, #303, #310, #339.</action>
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-lang3 from 3.16.0 to 3.17.0 #288 [test].</action> <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-lang3 from 3.16.0 to 3.17.0 #288 [test].</action>
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">Bump log4j2.version from 2.23.1 to 2.24.2 #292, #299, #319.</action> <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">Bump log4j2.version from 2.23.1 to 2.24.3 #292, #299, #319, #328.</action>
<!-- REMOVE --> <!-- REMOVE -->
<action type="remove" dev="ggregory" due-to="Gary Gregory">Remove "cobertura" plugin, we use JaCoco, Cobertura is unmaintained.</action> <action type="remove" dev="ggregory" due-to="Gary Gregory">Remove "cobertura" plugin, we use JaCoco, Cobertura is unmaintained.</action>
</release> </release>

View File

@@ -107,7 +107,7 @@ Removed:
## End of main loop ## End of main loop
#end #end
Historical list of changes: ${project.url}changes-report.html Historical list of changes: ${project.url}changes.html
Download it from ${project.url}download_logging.cgi Download it from ${project.url}download_logging.cgi

View File

@@ -72,5 +72,6 @@ limitations under the License.
</module> </module>
<module name="WhitespaceAfter" /> <module name="WhitespaceAfter" />
<module name="ParenPad" /> <module name="ParenPad" />
<module name="TypecastParenPad" />
</module> </module>
</module> </module>

View File

@@ -16,7 +16,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
--> -->
<ruleset name="mybraces" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <ruleset name="mybraces" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd"> xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.net/ruleset_2_0_0.xsd">
<description>Excludes from default PMD rules.</description> <description>Excludes from default PMD rules.</description>
<rule ref="category/java/errorprone.xml/EmptyCatchBlock"> <rule ref="category/java/errorprone.xml/EmptyCatchBlock">
<properties> <properties>

View File

@@ -19,7 +19,7 @@ under the License.
--> -->
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.2.0" <assembly xmlns="http://maven.apache.org/ASSEMBLY/2.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.2.0 http://maven.apache.org/xsd/assembly-2.2.0.xsd"> xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.2.0 https://maven.apache.org/xsd/assembly-2.2.0.xsd">
<id>bin</id> <id>bin</id>
<formats> <formats>
<format>tar.gz</format> <format>tar.gz</format>

View File

@@ -19,7 +19,7 @@ under the License.
--> -->
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.2.0" <assembly xmlns="http://maven.apache.org/ASSEMBLY/2.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.2.0 http://maven.apache.org/xsd/assembly-2.2.0.xsd"> xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.2.0 https://maven.apache.org/xsd/assembly-2.2.0.xsd">
<id>src</id> <id>src</id>
<formats> <formats>
<format>tar.gz</format> <format>tar.gz</format>

View File

@@ -566,7 +566,6 @@ public abstract class LogFactory {
* *
* @param clazz Class. * @param clazz Class.
* @return a ClassLoader. * @return a ClassLoader.
*
* @since 1.1 * @since 1.1
*/ */
protected static ClassLoader getClassLoader(final Class<?> clazz) { protected static ClassLoader getClassLoader(final Class<?> clazz) {
@@ -886,7 +885,7 @@ public abstract class LogFactory {
// implementations via the TCCL, we don't try to load the default LogFactory // implementations via the TCCL, we don't try to load the default LogFactory
// implementation via the context class loader because: // implementation via the context class loader because:
// * that can cause problems (see comments in newFactory method) // * that can cause problems (see comments in newFactory method)
// * no-one should be customising the code of the default class // * no-one should be customizing the code of the default class
// Yes, we do give up the ability for the child to ship a newer // Yes, we do give up the ability for the child to ship a newer
// version of the LogFactoryImpl class and have it used dynamically // version of the LogFactoryImpl class and have it used dynamically
// by an old LogFactory class in the parent, but that isn't // by an old LogFactory class in the parent, but that isn't

View File

@@ -490,7 +490,6 @@ public class LogFactoryImpl extends LogFactory {
* Follows the discovery process described in the class Javadoc. * Follows the discovery process described in the class Javadoc.
* *
* @param logCategory the name of the log category * @param logCategory the name of the log category
*
* @throws LogConfigurationException if an error in discovery occurs, * @throws LogConfigurationException if an error in discovery occurs,
* or if no adapter at all can be instantiated * or if no adapter at all can be instantiated
*/ */
@@ -809,7 +808,6 @@ public class LogFactoryImpl extends LogFactory {
* call {@code getInstance(String)} with it. * call {@code getInstance(String)} with it.
* *
* @param clazz Class for which a suitable Log name will be derived * @param clazz Class for which a suitable Log name will be derived
*
* @throws LogConfigurationException if a suitable {@code Log} * @throws LogConfigurationException if a suitable {@code Log}
* instance cannot be returned * instance cannot be returned
*/ */
@@ -866,9 +864,7 @@ public class LogFactoryImpl extends LogFactory {
* </p> * </p>
* *
* @return the {@code Constructor} that can be called to instantiate new {@link org.apache.commons.logging.Log} instances. * @return the {@code Constructor} that can be called to instantiate new {@link org.apache.commons.logging.Log} instances.
*
* @throws LogConfigurationException if a suitable constructor cannot be returned * @throws LogConfigurationException if a suitable constructor cannot be returned
*
* @deprecated Never invoked by this class; subclasses should not assume it will be. * @deprecated Never invoked by this class; subclasses should not assume it will be.
*/ */
@Deprecated @Deprecated
@@ -888,10 +884,9 @@ public class LogFactoryImpl extends LogFactory {
/** /**
* Given two related class loaders, return the one which is a child of * Given two related class loaders, return the one which is a child of
* the other. * the other.
* <p> *
* @param c1 is a class loader (including the null class loader) * @param c1 is a class loader (including the null class loader)
* @param c2 is a class loader (including the null class loader) * @param c2 is a class loader (including the null class loader)
*
* @return c1 if it has c2 as an ancestor, c2 if it has c1 as an ancestor, * @return c1 if it has c2 as an ancestor, c2 if it has c1 as an ancestor,
* and null if neither is an ancestor of the other. * and null if neither is an ancestor of the other.
*/ */
@@ -956,7 +951,6 @@ public class LogFactoryImpl extends LogFactory {
* @param logAdapterClassName is the class name of the Log implementation * @param logAdapterClassName is the class name of the Log implementation
* that could not be instantiated. Cannot be {@code null}. * that could not be instantiated. Cannot be {@code null}.
* @param discoveryFlaw is the Throwable created by the class loader * @param discoveryFlaw is the Throwable created by the class loader
*
* @throws LogConfigurationException ALWAYS * @throws LogConfigurationException ALWAYS
*/ */
private void handleFlawedDiscovery(final String logAdapterClassName, private void handleFlawedDiscovery(final String logAdapterClassName,
@@ -1191,7 +1185,6 @@ public class LogFactoryImpl extends LogFactory {
* which is required by Jdk14Logger. * which is required by Jdk14Logger.
* *
* @return Whether <em>JDK 1.4 or later</em> logging is available. * @return Whether <em>JDK 1.4 or later</em> logging is available.
*
* @deprecated Never invoked by this class; subclasses should not assume it will be. * @deprecated Never invoked by this class; subclasses should not assume it will be.
*/ */
@Deprecated @Deprecated
@@ -1203,7 +1196,6 @@ public class LogFactoryImpl extends LogFactory {
* Tests whether a <em>Log4J</em> implementation available. * Tests whether a <em>Log4J</em> implementation available.
* *
* @return whether a <em>Log4J</em> implementation available. * @return whether a <em>Log4J</em> implementation available.
*
* @deprecated Never invoked by this class; subclasses should not assume it will be. * @deprecated Never invoked by this class; subclasses should not assume it will be.
*/ */
@Deprecated @Deprecated
@@ -1262,7 +1254,6 @@ public class LogFactoryImpl extends LogFactory {
* *
* @param name Name of the new logger * @param name Name of the new logger
* @return a new {@link org.apache.commons.logging.Log} * @return a new {@link org.apache.commons.logging.Log}
*
* @throws LogConfigurationException if a new instance cannot be created * @throws LogConfigurationException if a new instance cannot be created
*/ */
protected Log newInstance(final String name) throws LogConfigurationException { protected Log newInstance(final String name) throws LogConfigurationException {

View File

@@ -21,7 +21,7 @@
<head> <head>
<title>Overview Documentation for COMMONS-LOGGING</title> <title>Overview Documentation for COMMONS-LOGGING</title>
</head> </head>
<body bgcolor="white"> <body>
<p>The <em>Logging Wrapper Library</em> component of the Apache Commons <p>The <em>Logging Wrapper Library</em> component of the Apache Commons
subproject offers wrappers around an extensible set of concrete logging subproject offers wrappers around an extensible set of concrete logging
implementations, so that application code based on it does not need to be implementations, so that application code based on it does not need to be

View File

@@ -0,0 +1,16 @@
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.

View File

@@ -17,30 +17,39 @@
limitations under the License. limitations under the License.
--> -->
<project xmlns="http://maven.apache.org/DECORATION/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <site xmlns="http://maven.apache.org/SITE/2.0.0"
xsi:schemaLocation="http://maven.apache.org/DECORATION/1.1.0 http://maven.apache.org/xsd/decoration-1.1.0.xsd"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<bannerRight> xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 https://maven.apache.org/xsd/site-2.0.0.xsd"
<name>Commons Logging</name> name="Apache Commons Logging">
<src>/images/logo.png</src> <bannerRight name="Commons Logging" href="/index.html">
<href>https://commons.apache.org/logging/</href> <image src="/images/logo.png"/>
</bannerRight> </bannerRight>
<body> <body>
<menu name="Commons Logging"> <menu name="Commons Logging">
<item name="Overview" href="/index.html" /> <!-- Start: For all components. -->
<item name="About" href="/index.html" />
<item name="Asking Questions" href="/mail-lists.html" />
<item name="Release History" href="/changes.html" />
<item name="Issue Tracking" href="/issue-management.html" />
<item name="Dependency Management" href="/dependency-info.html" />
<item name="Sources" href="/scm.html" />
<item name="Security" href="security.html" />
<item name="License" href="https://www.apache.org/licenses/LICENSE-2.0" />
<item name="Code of Conduct" href="https://www.apache.org/foundation/policies/conduct.html" />
<item name="Download" href="/download_logging.cgi" /> <item name="Download" href="/download_logging.cgi" />
<item name="Javadoc">
<item name="Javadoc Current" href="apidocs/index.html" />
<item name="Javadoc Archive" href="https://javadoc.io/doc/commons-logging/commons-logging" />
</item>
<!-- End: For all components. -->
<!-- Specific to this component: -->
<item name="User Guide" href="/guide.html" /> <item name="User Guide" href="/guide.html" />
<item name="Troubleshooting Guide" href="/troubleshooting.html" /> <item name="Troubleshooting Guide" href="/troubleshooting.html" />
<item name="Release Notes" href="/RELEASE-NOTES.txt" />
<item name='Javadoc (Latest release)' href='/apidocs/index.html' />
<item name='Javadoc Archive' href='https://javadoc.io/doc/commons-logging/commons-logging' />
</menu>
<menu name="Development">
<item name="Building" href="/building.html" /> <item name="Building" href="/building.html" />
<item name="Mailing Lists" href="/mail-lists.html" />
<item name="Issue Tracking" href="/issue-tracking.html" />
<item name="Proposal" href="/proposal.html" /> <item name="Proposal" href="/proposal.html" />
<item name="Tech Guide" href="/tech.html" /> <item name="Tech Guide" href="/tech.html" />
<item name="Wiki" href="https://wiki.apache.org/commons/Logging" /> <item name="Wiki" href="https://wiki.apache.org/commons/Logging" />
<item name="Release Notes" href="/RELEASE-NOTES.txt" />
</menu> </menu>
</body> </body>
</project> </site>

View File

@@ -15,7 +15,9 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
--> -->
<document> <document xmlns="http://maven.apache.org/XDOC/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties> <properties>
<title>Building</title> <title>Building</title>
<author email="dev@commons.apache.org">Commons Documentation Team</author> <author email="dev@commons.apache.org">Commons Documentation Team</author>

View File

@@ -7,7 +7,7 @@ The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
@@ -56,10 +56,12 @@ limitations under the License.
| | | |
+======================================================================+ +======================================================================+
--> -->
<document> <document xmlns="http://maven.apache.org/XDOC/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties> <properties>
<title>Download Apache Commons Logging</title> <title>Download Apache Commons Logging</title>
<author email="dev@commons.apache.org">Apache Commons Documentation Team</author> <author email="dev@commons.apache.org">Apache Commons Team</author>
</properties> </properties>
<body> <body>
<section name="Download Apache Commons Logging"> <section name="Download Apache Commons Logging">
@@ -79,7 +81,7 @@ limitations under the License.
mirrors (at the end of the mirrors list) that should be mirrors (at the end of the mirrors list) that should be
available. available.
<br></br> <br></br>
[if-any logo]<a href="[link]"><img align="right" src="[logo]" border="0"></img></a>[end] [if-any logo]<a href="[link]"><img align="right" src="[logo]" border="0" alt="Logo"></img></a>[end]
</p> </p>
<form action="[location]" method="get" id="SelectMirror"> <form action="[location]" method="get" id="SelectMirror">

View File

@@ -19,8 +19,9 @@
--> -->
<document> <document xmlns="http://maven.apache.org/XDOC/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties> <properties>
<title>User Guide</title> <title>User Guide</title>
<author email="dev@commons.apache.org">Commons Documentation Team</author> <author email="dev@commons.apache.org">Commons Documentation Team</author>
@@ -28,7 +29,6 @@
<body> <body>
<section name='Contents'> <section name='Contents'>
<p>
<ol> <ol>
<li><a href='#Introduction'>Introduction</a></li> <li><a href='#Introduction'>Introduction</a></li>
<li><a href='#Quick Start'>Quick Start</a> <li><a href='#Quick Start'>Quick Start</a>
@@ -85,7 +85,6 @@
<li><a href='#Frequently Asked Questions'>Frequently Asked Questions</a> <li><a href='#Frequently Asked Questions'>Frequently Asked Questions</a>
</li> </li>
</ol> </ol>
</p>
</section> </section>
<section name="Introduction"> <section name="Introduction">
<p> <p>
@@ -228,18 +227,16 @@ is responsible for handling such issues.
</section> </section>
<section name='Developing With JCL'> <section name='Developing With JCL'>
<subsection name="Obtaining a Log Object"> <subsection name="Obtaining a Log Object">
<p> <p>
To use the JCL SPI from a Java class, To use the JCL SPI from a Java class,
include the following import statements: include the following import statements:
</p> </p>
<ul> <code>
<code>
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
<br/> <br/>
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
<br/> <br/>
</code> </code>
</ul>
<p> <p>
Note that some components using JCL may Note that some components using JCL may
either extend Log, either extend Log,
@@ -251,7 +248,6 @@ on how commons-logging should be used in such components.
For each class definition, declare and initialize a For each class definition, declare and initialize a
<code>log</code> attribute as follows: <code>log</code> attribute as follows:
</p> </p>
<ul>
<source> <source>
public class CLASS public class CLASS
{ {
@@ -259,7 +255,6 @@ public class CLASS
... ...
; ;
</source> </source>
</ul>
<p> <p>
Note that for application code, declaring the log member as "static" is more Note that for application code, declaring the log member as "static" is more
efficient as one Log object is created per class, and is recommended. efficient as one Log object is created per class, and is recommended.
@@ -278,7 +273,6 @@ The <code>org.apache.commons.logging.Log</code> interface defines the
following methods for use following methods for use
in writing log/trace messages to the log: in writing log/trace messages to the log:
</p> </p>
<ul>
<source> <source>
log.fatal(Object message); log.fatal(Object message);
log.fatal(Object message, Throwable t); log.fatal(Object message, Throwable t);
@@ -293,7 +287,6 @@ in writing log/trace messages to the log:
log.trace(Object message); log.trace(Object message);
log.trace(Object message, Throwable t); log.trace(Object message, Throwable t);
</source> </source>
</ul>
<p> <p>
Semantics for these methods are such that it is expected Semantics for these methods are such that it is expected
that the severity, from highest to lowest, of messages is ordered as above. that the severity, from highest to lowest, of messages is ordered as above.
@@ -301,7 +294,6 @@ that the severity, from highest to lowest, of messages is ordered as above.
<p> <p>
In addition to the logging methods, the following are provided for code guards: In addition to the logging methods, the following are provided for code guards:
</p> </p>
<ul>
<source> <source>
log.isFatalEnabled(); log.isFatalEnabled();
log.isErrorEnabled(); log.isErrorEnabled();
@@ -310,7 +302,6 @@ In addition to the logging methods, the following are provided for code guards:
log.isDebugEnabled(); log.isDebugEnabled();
log.isTraceEnabled(); log.isTraceEnabled();
</source> </source>
</ul>
</subsection> </subsection>
<subsection name="Serialization Issues"> <subsection name="Serialization Issues">
<p>Prior to release 1.0.4, none of the standard Log implementations were <p>Prior to release 1.0.4, none of the standard Log implementations were
@@ -434,13 +425,13 @@ The following guidelines are suggested:
<li> <li>
<b>fatal</b> - Severe errors that cause premature termination. <b>fatal</b> - Severe errors that cause premature termination.
Expect these to be immediately visible on a status console. Expect these to be immediately visible on a status console.
See also <a HREF="#National%20Language%20Support%20And%20Internationalization"> See also <a href="#National%20Language%20Support%20And%20Internationalization">
Internationalization</a>. Internationalization</a>.
</li> </li>
<li> <li>
<b>error</b> - Other runtime errors or unexpected conditions. <b>error</b> - Other runtime errors or unexpected conditions.
Expect these to be immediately visible on a status console. Expect these to be immediately visible on a status console.
See also <a HREF="#National%20Language%20Support%20And%20Internationalization"> See also <a href="#National%20Language%20Support%20And%20Internationalization">
Internationalization</a>. Internationalization</a>.
</li> </li>
<li> <li>
@@ -448,14 +439,14 @@ Internationalization</a>.
other runtime situations that are undesirable or unexpected, but not other runtime situations that are undesirable or unexpected, but not
necessarily "wrong". necessarily "wrong".
Expect these to be immediately visible on a status console. Expect these to be immediately visible on a status console.
See also <a HREF="#National%20Language%20Support%20And%20Internationalization"> See also <a href="#National%20Language%20Support%20And%20Internationalization">
Internationalization</a>. Internationalization</a>.
</li> </li>
<li> <li>
<b>info</b> - Interesting runtime events (startup/shutdown). <b>info</b> - Interesting runtime events (startup/shutdown).
Expect these to be immediately visible on a console, Expect these to be immediately visible on a console,
so be conservative and keep to a minimum. so be conservative and keep to a minimum.
See also <a HREF="#National%20Language%20Support%20And%20Internationalization"> See also <a href="#National%20Language%20Support%20And%20Internationalization">
Internationalization</a>. Internationalization</a>.
</li> </li>
<li> <li>
@@ -561,11 +552,9 @@ If more control is desired for the level of detail of these
'enterprise' exceptions, then consider creating a special 'enterprise' exceptions, then consider creating a special
logger just for these exceptions: logger just for these exceptions:
</p> </p>
<ul>
<source> <source>
Log log = LogFactory.getLog("org.apache.<i>component</i>.enterprise"); Log log = LogFactory.getLog("org.apache.<i>component</i>.enterprise");
</source> </source>
</ul>
<p> <p>
This allows the 'enterprise' level information to be turned on/off explicitly This allows the 'enterprise' level information to be turned on/off explicitly
by most logger implementations. by most logger implementations.
@@ -669,29 +658,29 @@ new <code>LogFactory</code> implementations that provide alternative discovery s
When creating new implementations for <code>Log</code> and <code>LogFactory</code>, When creating new implementations for <code>Log</code> and <code>LogFactory</code>,
it is important to understand the implied contract between the factory it is important to understand the implied contract between the factory
and the log implementations: and the log implementations:
<ul> </p>
<li><b>Life cycle</b> <ul>
<blockquote> <li><b>Life cycle</b>
<blockquote>
The JCL LogFactory implementation must assume responsibility for The JCL LogFactory implementation must assume responsibility for
either connecting/disconnecting to a logging toolkit, either connecting/disconnecting to a logging toolkit,
or instantiating/initializing/destroying a logging toolkit. or instantiating/initializing/destroying a logging toolkit.
</blockquote> </blockquote>
</li> </li>
<li><b>Exception handling</b> <li><b>Exception handling</b>
<blockquote> <blockquote>
The JCL Log interface doesn't specify any exceptions to be handled, The JCL Log interface doesn't specify any exceptions to be handled,
the implementation must catch any exceptions. the implementation must catch any exceptions.
</blockquote> </blockquote>
</li> </li>
<li><b>Multiple threads</b> <li><b>Multiple threads</b>
<blockquote> <blockquote>
The JCL Log and LogFactory implementations must ensure The JCL Log and LogFactory implementations must ensure
that any synchronization required by the logging toolkit that any synchronization required by the logging toolkit
is met. is met.
</blockquote> </blockquote>
</li> </li>
</ul> </ul>
</p>
</subsection> </subsection>
<subsection name='Creating a Log Implementation'> <subsection name='Creating a Log Implementation'>
<p> <p>

View File

@@ -19,8 +19,9 @@
--> -->
<document> <document xmlns="http://maven.apache.org/XDOC/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties> <properties>
<title>Overview</title> <title>Overview</title>
<author email="dev@commons.apache.org">Commons Documentation Team</author> <author email="dev@commons.apache.org">Commons Documentation Team</author>
@@ -82,23 +83,23 @@ This gives short introductions to topics such as advanced class loading.
<a href="https//commons.apache.org/proper/commons-logging/download_logging.cgi">here</a>. <a href="https//commons.apache.org/proper/commons-logging/download_logging.cgi">here</a>.
</p> </p>
<p> <p>
The full release history is <a href="changes-report.html">here</a>. The full release history is <a href="changes.html">here</a>.
</p> </p>
<subsection name='Release 1.3.x'> <subsection name='Release 1.3.x'>
<p> <p>
See <a href="changes-report.html">change-report</a>. See <a href="changes.html">change-report</a>.
</p> </p>
</subsection> </subsection>
<subsection name='Release 1.2 - July 2014'> <subsection name='Release 1.2 - July 2014'>
<p>The main purpose of the 1.2 release is to drop support for Java 1.1.</p> <p>The main purpose of the 1.2 release is to drop support for Java 1.1.</p>
<p>For a full list of changes since the 1.1.3 release, please refer to the <p>For a full list of changes since the 1.1.3 release, please refer to the
<a href="changes-report.html">change-report</a>.</p> <a href="changes.html">change-report</a>.</p>
</subsection> </subsection>
<subsection name='Release 1.1.3 - May 2013'> <subsection name='Release 1.1.3 - May 2013'>
<p>The 1.1.3 release only updates the Bundle-SymbolicName in the manifest <p>The 1.1.3 release only updates the Bundle-SymbolicName in the manifest
to "org.apache.commons.logging".</p> to "org.apache.commons.logging".</p>
<p>For a full list of changes since the 1.1.1 release, please refer to the <p>For a full list of changes since the 1.1.1 release, please refer to the
<a href="changes-report.html">change-report</a>.</p> <a href="changes.html">change-report</a>.</p>
</subsection> </subsection>
<subsection name='Release 1.1.2 - March 2013'> <subsection name='Release 1.1.2 - March 2013'>
<p>The 1.1.2 release is a packaging of bug fixes since release 1.1.1.</p> <p>The 1.1.2 release is a packaging of bug fixes since release 1.1.1.</p>

View File

@@ -7,7 +7,7 @@ The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
@@ -41,10 +41,12 @@ limitations under the License.
| | | |
+======================================================================+ +======================================================================+
--> -->
<document> <document xmlns="http://maven.apache.org/XDOC/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties> <properties>
<title>Apache Commons Logging Issue tracking</title> <title>Apache Commons Logging Issue tracking</title>
<author email="dev@commons.apache.org">Apache Commons Documentation Team</author> <author email="dev@commons.apache.org">Apache Commons Team</author>
</properties> </properties>
<body> <body>
@@ -64,6 +66,7 @@ limitations under the License.
<p> <p>
If you would like to report a bug, or raise an enhancement request with If you would like to report a bug, or raise an enhancement request with
Apache Commons Logging please do the following: Apache Commons Logging please do the following:
</p>
<ol> <ol>
<li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310484&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=1&amp;status=3&amp;status=4">Search existing open bugs</a>. <li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310484&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=1&amp;status=3&amp;status=4">Search existing open bugs</a>.
If you find your issue listed then please add a comment with your details.</li> If you find your issue listed then please add a comment with your details.</li>
@@ -73,16 +76,15 @@ limitations under the License.
<li>Submit either a <a href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310484&amp;issuetype=1&amp;priority=4&amp;assignee=-1">bug report</a> <li>Submit either a <a href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310484&amp;issuetype=1&amp;priority=4&amp;assignee=-1">bug report</a>
or <a href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310484&amp;issuetype=4&amp;priority=4&amp;assignee=-1">enhancement request</a>.</li> or <a href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310484&amp;issuetype=4&amp;priority=4&amp;assignee=-1">enhancement request</a>.</li>
</ol> </ol>
</p>
<p> <p>
Please also remember these points: Please also remember these points:
</p>
<ul> <ul>
<li>the more information you provide, the better we can help you</li> <li>the more information you provide, the better we can help you</li>
<li>test cases are vital, particularly for any proposed enhancements</li> <li>test cases are vital, particularly for any proposed enhancements</li>
<li>the developers of Apache Commons Logging are all unpaid volunteers</li> <li>the developers of Apache Commons Logging are all unpaid volunteers</li>
</ul> </ul>
</p>
<p> <p>
For more information on creating patches see the For more information on creating patches see the
@@ -91,12 +93,12 @@ limitations under the License.
<p> <p>
You may also find these links useful: You may also find these links useful:
</p>
<ul> <ul>
<li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310484&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=1&amp;status=3&amp;status=4">All Open Apache Commons Logging bugs</a></li> <li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310484&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=1&amp;status=3&amp;status=4">All Open Apache Commons Logging bugs</a></li>
<li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310484&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=5&amp;status=6">All Resolved Apache Commons Logging bugs</a></li> <li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310484&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=5&amp;status=6">All Resolved Apache Commons Logging bugs</a></li>
<li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310484&amp;sorter/field=issuekey&amp;sorter/order=DESC">All Apache Commons Logging bugs</a></li> <li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310484&amp;sorter/field=issuekey&amp;sorter/order=DESC">All Apache Commons Logging bugs</a></li>
</ul> </ul>
</p>
</section> </section>
</body> </body>
</document> </document>

View File

@@ -15,8 +15,9 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
--> -->
<document> <document xmlns="http://maven.apache.org/XDOC/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties> <properties>
<title>JUnit Test Results</title> <title>JUnit Test Results</title>
<author email="dev@commons.apache.org">Commons Documentation Team</author> <author email="dev@commons.apache.org">Commons Documentation Team</author>

View File

@@ -7,7 +7,7 @@ The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
@@ -39,10 +39,12 @@ limitations under the License.
| | | |
+======================================================================+ +======================================================================+
--> -->
<document> <document xmlns="http://maven.apache.org/XDOC/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties> <properties>
<title>Apache Commons Logging Mailing Lists</title> <title>Apache Commons Logging Mailing Lists</title>
<author email="dev@commons.apache.org">Apache Commons Documentation Team</author> <author email="dev@commons.apache.org">Apache Commons Team</author>
</properties> </properties>
<body> <body>
@@ -53,10 +55,10 @@ limitations under the License.
To make it easier for people to only read messages related to components they are interested in, To make it easier for people to only read messages related to components they are interested in,
the convention in Commons is to prefix the subject line of messages with the component's name, the convention in Commons is to prefix the subject line of messages with the component's name,
for example: for example:
<ul>
<li>[logging] Problem with the ...</li>
</ul>
</p> </p>
<ul>
<li>[logging] Problem with the ...</li>
</ul>
<p> <p>
Questions related to the usage of Apache Commons Logging should be posted to the Questions related to the usage of Apache Commons Logging should be posted to the
<a href="https://lists.apache.org/list.html?user@commons.apache.org">User List</a>. <a href="https://lists.apache.org/list.html?user@commons.apache.org">User List</a>.

View File

@@ -17,7 +17,9 @@
--> -->
<document> <document xmlns="http://maven.apache.org/XDOC/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties> <properties>
<title>Proposal for Logging Library Package</title> <title>Proposal for Logging Library Package</title>
</properties> </properties>
@@ -51,21 +53,21 @@ implementations.
<p> <p>
The package should : The package should :
</p>
<ul> <ul>
<li>Have an API which should be as simple to use as possible</li> <li>Have an API which should be as simple to use as possible</li>
<li>Provide support for Log4j</li> <li>Provide support for Log4j</li>
<li>Provide pluggable support for other logging APIs</li> <li>Provide pluggable support for other logging APIs</li>
</ul> </ul>
</p>
<p> <p>
Non-goals: Non-goals:
</p>
<ul> <ul>
<li>This package will not perform logging itself, except at the most basic <li>This package will not perform logging itself, except at the most basic
level.</li> level.</li>
<li>We do not seek to become a "standard" API.</li> <li>We do not seek to become a "standard" API.</li>
</ul> </ul>
</p>
</subsection> </subsection>
<subsection name="(1.5) Interaction With Other Packages"> <subsection name="(1.5) Interaction With Other Packages">

View File

@@ -17,8 +17,9 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
--> -->
<document> <document xmlns="http://maven.apache.org/XDOC/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties> <properties>
<title>Technology Guide</title> <title>Technology Guide</title>
<author email="dev@commons.apache.org">Commons Documentation Team</author> <author email="dev@commons.apache.org">Commons Documentation Team</author>

View File

@@ -19,8 +19,9 @@
--> -->
<document> <document xmlns="http://maven.apache.org/XDOC/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties> <properties>
<title>Troubleshooting Guide</title> <title>Troubleshooting Guide</title>
<author email="dev@commons.apache.org">Commons Documentation Team</author> <author email="dev@commons.apache.org">Commons Documentation Team</author>
@@ -37,7 +38,6 @@
<ul> <ul>
<li> <li>
<a href="#When To Use Diagnostic Logging">When To Use Diagnostic Logging</a> <a href="#When To Use Diagnostic Logging">When To Use Diagnostic Logging</a>
<ul/>
</li> </li>
<li> <li>
<a href="#How To Use Diagnostic logging">How To Use Diagnostic logging</a> <a href="#How To Use Diagnostic logging">How To Use Diagnostic logging</a>
@@ -86,15 +86,12 @@
<ul> <ul>
<li> <li>
<a href="#Apache Tomcat">Apache Tomcat</a> <a href="#Apache Tomcat">Apache Tomcat</a>
<ul/>
</li> </li>
<li> <li>
<a href="#JBoss Application Server">JBoss Application Server</a> <a href="#JBoss Application Server">JBoss Application Server</a>
<ul/>
</li> </li>
<li> <li>
<a href="#Other Containers">Other Containers</a> <a href="#Other Containers">Other Containers</a>
<ul/>
</li> </li>
</ul> </ul>
</li> </li>
@@ -134,19 +131,19 @@ Diagnostics uses the concept of an Object ID (OID). This allows the identity of
to be tracked without relying on useful <code>toString</code> implementations. to be tracked without relying on useful <code>toString</code> implementations.
These are of the form: These are of the form:
</p> </p>
<code><pre> <code>
<em>classname</em>@<em>system identity hash code</em> <em>classname</em>@<em>system identity hash code</em>
</pre></code> </code>
<p> <p>
The <em>system identity hash code</em> is found by calling <code>System.identityHashCode()</code> The <em>system identity hash code</em> is found by calling <code>System.identityHashCode()</code>
which should uniquely identify a particular instance. The classname is usually the fully qualified which should uniquely identify a particular instance. The classname is usually the fully qualified
class name though in a few cases, <code>org.apache.commons.logging.impl.LogFactoryImpl</code> may be class name though in a few cases, <code>org.apache.commons.logging.impl.LogFactoryImpl</code> may be
shortened to <code>LogFactoryImpl</code> to increase ease of reading. For example: shortened to <code>LogFactoryImpl</code> to increase ease of reading. For example:
</p> </p>
<code><pre> <code>
sun.misc.Launcher$AppClassLoader@20120943 sun.misc.Launcher$AppClassLoader@20120943
LogFactoryImpl@1671711 LogFactoryImpl@1671711
</pre></code> </code>
<p> <p>
OIDs are intended to be used to cross-reference. They allow particular instances of classloaders OIDs are intended to be used to cross-reference. They allow particular instances of classloaders
and JCL classes to be tracked in different contexts. This plays a vital role in building and JCL classes to be tracked in different contexts. This plays a vital role in building
@@ -158,9 +155,9 @@ up the understanding of the classloader environment required to diagnose JCL pro
Each diagnostic message is prefixed with details of the relevant class in a standard format. Each diagnostic message is prefixed with details of the relevant class in a standard format.
This takes the form: This takes the form:
</p> </p>
<code><pre> <code>
[<em>class-identifier</em> from <em>ClassLoader OID</em>] [<em>class-identifier</em> from <em>ClassLoader OID</em>]
</pre></code> </code>
<p> <p>
<em>ClassLoader OID</em> is the <a href='#OIDs'>OID</a> of a classloader which loaded <em>ClassLoader OID</em> is the <a href='#OIDs'>OID</a> of a classloader which loaded
the class issuing the message. the class issuing the message.
@@ -170,19 +167,19 @@ the class issuing the message.
In the case of In the case of
<code>LogFactory</code>, this is just <code>LogFactory</code>. For example (line split): <code>LogFactory</code>, this is just <code>LogFactory</code>. For example (line split):
</p> </p>
<code><pre> <code>
[LogFactory [LogFactory
from sun.misc.Launcher$AppClassLoader@20120943] BOOTSTRAP COMPLETED from sun.misc.Launcher$AppClassLoader@20120943] BOOTSTRAP COMPLETED
</pre></code> </code>
<p> <p>
In the case of In the case of
<code>LogFactoryImpl</code>, the prefix is the instance OID. This can be cross referenced <code>LogFactoryImpl</code>, the prefix is the instance OID. This can be cross referenced
to discover the details of the TCCL used to manage this instance. For example (line split): to discover the details of the TCCL used to manage this instance. For example (line split):
</p> </p>
<code><pre> <code>
[LogFactoryImpl@1671711 [LogFactoryImpl@1671711
from sun.misc.Launcher$AppClassLoader@20120943] Instance created. from sun.misc.Launcher$AppClassLoader@20120943] Instance created.
</pre></code> </code>
</subsection> </subsection>
<subsection name='ClassLoader Hierarchy Tree'> <subsection name='ClassLoader Hierarchy Tree'>
<p> <p>
@@ -193,12 +190,12 @@ Each classloader is represented (visually) by an OID (to allow cross referencing
and the relationship indicated in <code><em>child</em> --> <em>parent</em></code> fashion. and the relationship indicated in <code><em>child</em> --> <em>parent</em></code> fashion.
For example (line split for easy reading): For example (line split for easy reading):
</p> </p>
<code><pre> <code>
ClassLoader tree:java.net.URLClassLoader@3526198 ClassLoader tree:java.net.URLClassLoader@3526198
--> sun.misc.Launcher$AppClassLoader@20120943 (SYSTEM) --> sun.misc.Launcher$AppClassLoader@20120943 (SYSTEM)
--> sun.misc.Launcher$ExtClassLoader@11126876 --> sun.misc.Launcher$ExtClassLoader@11126876
--> BOOT --> BOOT
</pre></code> </code>
<p> <p>
Represents a hierarchy with four elements ending in the boot classloader. Represents a hierarchy with four elements ending in the boot classloader.
</p> </p>
@@ -216,15 +213,15 @@ are logged.
<p> <p>
Many Sun classloaders have confusing <code>toString</code> values. For example, the OID may be Many Sun classloaders have confusing <code>toString</code> values. For example, the OID may be
</p> </p>
<code><pre> <code>
sun.misc.Launcher$AppClassLoader@20120943 sun.misc.Launcher$AppClassLoader@20120943
</pre></code> </code>
<p> <p>
with a <code>toString</code> value of with a <code>toString</code> value of
</p> </p>
<code><pre> <code>
sun.misc.Launcher$AppClassLoader@133056f sun.misc.Launcher$AppClassLoader@133056f
</pre></code> </code>
<p> <p>
Other classloader implementations may give very useful information (such as the local classpath). Other classloader implementations may give very useful information (such as the local classpath).
</p> </p>
@@ -252,7 +249,7 @@ allowing the <a href='#OIDs'>OID</a> later to be cross-referenced to the <code>t
and the <a href='#ClassLoader%20Hierarchy%20Tree'>classloader tree</a>. For example, the and the <a href='#ClassLoader%20Hierarchy%20Tree'>classloader tree</a>. For example, the
following log snippet details the TCCL (lines split): following log snippet details the TCCL (lines split):
</p> </p>
<code><pre> <code>
[LogFactory from sun.misc.Launcher$AppClassLoader@20120943] [LogFactory from sun.misc.Launcher$AppClassLoader@20120943]
[LOOKUP] LogFactory implementation requested for the first time for context [LOOKUP] LogFactory implementation requested for the first time for context
classloader java.net.URLClassLoader@3526198 classloader java.net.URLClassLoader@3526198
@@ -263,7 +260,7 @@ following log snippet details the TCCL (lines split):
--> sun.misc.Launcher$AppClassLoader@20120943 (SYSTEM) --> sun.misc.Launcher$AppClassLoader@20120943 (SYSTEM)
--> sun.misc.Launcher$ExtClassLoader@11126876 --> sun.misc.Launcher$ExtClassLoader@11126876
--> BOOT --> BOOT
</pre></code> </code>
</subsection> </subsection>
<subsection name='Log Discovery Diagnostics'> <subsection name='Log Discovery Diagnostics'>
<p> <p>
@@ -305,11 +302,11 @@ The Apache Commons team would be grateful if reports were posted to the developm
of other containers using a custom implementation. of other containers using a custom implementation.
</p> </p>
<subsection name='The Incompatible LogFactory Issue'> <subsection name='The Incompatible LogFactory Issue'>
<subsection name='Symptoms'> <h4 id='Symptoms'>Symptoms</h4>
<p> <p>
An exception is thrown by JCL with a message similar to: An exception is thrown by JCL with a message similar to:
</p> </p>
<code><pre> <code>
The chosen LogFactory implementation does not extend LogFactory. Please check your configuration. The chosen LogFactory implementation does not extend LogFactory. Please check your configuration.
(Caused by java.lang.ClassCastException: The application has specified that a custom LogFactory (Caused by java.lang.ClassCastException: The application has specified that a custom LogFactory
implementation should be used but Class 'com.ibm.ws.commons.logging.TrLogFactory' cannot be converted implementation should be used but Class 'com.ibm.ws.commons.logging.TrLogFactory' cannot be converted
@@ -319,14 +316,13 @@ of other containers using a custom implementation.
LogFactory then it is likely that the container has set one without your knowledge. LogFactory then it is likely that the container has set one without your knowledge.
In this case, consider using the commons-logging-adapters.jar file or specifying the standard In this case, consider using the commons-logging-adapters.jar file or specifying the standard
LogFactory from the command line. Help can be found @https//commons.apache.org/logging. LogFactory from the command line. Help can be found @https//commons.apache.org/logging.
</pre></code> </code>
<p> <p>
This is a WebSphere example so the name of the custom LogFactory is This is a WebSphere example so the name of the custom LogFactory is
<code>com.ibm.ws.commons.logging.TrLogFactory</code>. For other containers, this class name will <code>com.ibm.ws.commons.logging.TrLogFactory</code>. For other containers, this class name will
differ. differ.
</p> </p>
</subsection> <h4 id='Explanation'>Explanation</h4>
<subsection name='Explanation'>
<p> <p>
A custom <code>LogFactory</code> implementation can only be used if the implementation class loaded A custom <code>LogFactory</code> implementation can only be used if the implementation class loaded
dynamically at runtime can be cast to the <code>LogFactory</code> class that loaded it. There are dynamically at runtime can be cast to the <code>LogFactory</code> class that loaded it. There are
@@ -357,8 +353,7 @@ containers which have custom implementations: the above runtime exception may be
under certain classloading policies without the user knowingly specifying a custom under certain classloading policies without the user knowingly specifying a custom
implementation. implementation.
</p> </p>
</subsection> <h4 id='Fixes'>Fixes</h4>
<subsection name='Fixes'>
<p> <p>
There are various ways to fix this problem. Which fix is right depends on the circumstances. There are various ways to fix this problem. Which fix is right depends on the circumstances.
</p> </p>
@@ -371,9 +366,9 @@ implementation.
If you want to bypass the container adaption mechanism then set the appropriate system property If you want to bypass the container adaption mechanism then set the appropriate system property
to the default value when the container is started: to the default value when the container is started:
</p> </p>
<code><pre> <code>
-Dorg.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl -Dorg.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
</pre></code> </code>
<p> <p>
If you want to continue to use the default container mechanism then: If you want to continue to use the default container mechanism then:
</p> </p>
@@ -392,7 +387,6 @@ implementation.
If you encounter difficulties when applying the fixes recommended, please turn on If you encounter difficulties when applying the fixes recommended, please turn on
<a href='#Using JCL Diagnostics'>diagnostics</a> and consult the logs. <a href='#Using JCL Diagnostics'>diagnostics</a> and consult the logs.
</p> </p>
</subsection>
</subsection> </subsection>
</section> </section>
<section name='Containers With Custom ClassLoading Behaviour for Logging'> <section name='Containers With Custom ClassLoading Behaviour for Logging'>

View File

@@ -30,9 +30,9 @@ import junit.framework.TestCase;
public class WeakHashtableTestCase extends TestCase { public class WeakHashtableTestCase extends TestCase {
public static class StupidThread extends Thread { public static class TestThread extends Thread {
public StupidThread(final String name) { public TestThread(final String name) {
super(name); super(name);
} }
@@ -183,7 +183,7 @@ public class WeakHashtableTestCase extends TestCase {
for (int j=1; j <= OUTER_LOOP; j++) { for (int j=1; j <= OUTER_LOOP; j++) {
hashtable = new WeakHashtable(); hashtable = new WeakHashtable();
for (int i = 0; i < t.length; i++) { for (int i = 0; i < t.length; i++) {
t[i] = new StupidThread("Thread:" + i); t[i] = new TestThread("Thread:" + i);
t[i].setDaemon(true); // Otherwise we cannot exit t[i].setDaemon(true); // Otherwise we cannot exit
t[i].start(); t[i].start();
} }

View File

@@ -59,7 +59,6 @@ public abstract class StandardTests extends TestCase {
* </ul> * </ul>
* *
* @param logEvents is the list of log events received. * @param logEvents is the list of log events received.
*
* @param thrown False if logPlainMessages was called * @param thrown False if logPlainMessages was called
* (ie the TestAppender is expected to have received * (ie the TestAppender is expected to have received
* logevents with no associated exception info). True if * logevents with no associated exception info). True if