<?xml version="1.0"?>

<!--

 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.

-->

<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>
  <title>Overview</title>
  <author email="dev@commons.apache.org">Apache Commons Team</author>
 </properties>

 <body>

<section name="The Logging Component">

<p>When writing a library it is very useful to log information. However there
are many logging implementations out there, and a library cannot impose the use
of a particular one on the overall application that the library is a part of.</p>

<p>The Logging package is an ultra-thin bridge between different logging
implementations.  A library that uses the commons-logging API can be used with
any logging implementation at runtime. Commons Logging comes with support for a
number of popular logging implementations, and writing adapters for others is a
reasonably simple task.</p>

<p>Applications (rather than libraries) may also choose to use commons-logging.
While logging-implementation independence is not as important for applications
as it is for libraries, using commons-logging does allow the application to
change to a different logging implementation without recompiling code. 
</p><p>
Note that commons-logging does not attempt to initialize or terminate the underlying
logging implementation that is used at runtime; that is the responsibility of
the application. However many popular logging implementations do automatically
initialize themselves; in this case an application may be able to avoid
containing any code that is specific to the logging implementation used.</p>

</section>


<section name="Documentation">

<p>The <a href="RELEASE-NOTES.txt">
Release Notes</a> document the new features and bug fixes that have been
included in the latest release.</p>

<p>The <a href="https://commons.apache.org/logging/apidocs/index.html">
Javadoc API documents</a> for the latest release are available online.
In particular, you should read the package overview of the <code>org.apache.commons.logging</code>
package. In addition, there is a (short)
<a href="guide.html">User Guide</a>.</p>

<p>The <a href="https://wiki.apache.org/commons/Logging">Wiki site</a> has
the latest updates, an FAQ, and much other useful information.</p>
<p>
Users needing to become experts or wanting to help develop JCL should
(in addition) consult the <a href='tech.html'>Tech Guide</a>.
This gives short introductions to topics such as advanced class loading.
</p>
</section>


<section name="Releases">
    <p>
      Binary and source distributions are available
      <a href="https://commons.apache.org/proper/commons-logging/download_logging.cgi">here</a>.
    </p>
    <p>
      The full release history is <a href="changes.html">here</a>.
    </p>
    <subsection name='Release 1.3.x'>
      <p>
        See <a href="changes.html">change-report</a>.
      </p> 
    </subsection>
    <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>For a full list of changes since the 1.1.3 release, please refer to the
      <a href="changes.html">change-report</a>.</p> 
    </subsection>
    <subsection name='Release 1.1.3 - May 2013'>
      <p>The 1.1.3 release only updates the Bundle-SymbolicName in the manifest
      to "org.apache.commons.logging".</p>
      <p>For a full list of changes since the 1.1.1 release, please refer to the
      <a href="changes.html">change-report</a>.</p> 
    </subsection>
    <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>For the full details, see the release notes for this version.</p> 
    </subsection>
    <subsection name='Release 1.1.1 - November 2007'>
      <p>
       This release is a minor update to the 1.1 release that fixes a number of bugs, and 
       resolves packaging issues for maven 1.x and maven 2.x users.
      </p>
      <p>For the full details, see the release notes for this version.</p> 
    </subsection>
    <subsection name='Release 1.1 - 10 May 2006'>
      <p>This release makes several changes that are intended to resolve issues that
      have been encountered when using commons-logging in servlet containers or j2ee
      containers where complex classpaths are present and multiple copies of
      commons-logging libraries are present at different levels.</p>
      <p>This release also adds support for the TRACE level added to Log4j in the
      1.2.12 release. In former commons-logging versions, the log.trace method
      caused Log4j to output the message at the DEBUG level (the lowest level
      supported by Log4j at that time).</p>
      <p>For the full details, see the release notes for this version.</p> 
    </subsection>
    <subsection name='Release 1.0.5 (Alpha)'>
      <p>
        <strong>Note:</strong> the 1.0.5 release was abandoned at alpha status.
      </p>
      <p>
    The next JCL release will be designated 1.1 since we feel this more 
    accurately reflects the improvements made to the codebase.</p>
    </subsection>
    <subsection name='Release 1.0.4 - 16 Jun 2004'>
      <p>The 1.0.4 release of commons-logging is a service release containing support
      for both the 1.2.x and 1.3.x series of Log4J releases.</p>
    </subsection>
    <subsection name='Release 1.0.3 - 7 Apr 2003'>
      <p>The 1.0.3 release is primarily a maintenance and code cleanup release with minimal new features.</p>
    </subsection>
    <subsection name='Release 1.0.2 - 27 September 2002'>
      <p>The 1.0.2 release is a packaging of bug fixes since release 1.0.1.</p>
    </subsection>
    <subsection name='Release 1.0.1 - 13 August 2002'>
      <p>The 1.0.1 release is a packaging of bug fixes and minor enhancements since release 1.0.</p>
    </subsection>
</section>
<section name="Development Builds">
  <p>Regular builds of the current Git <code>master</code> branch code are made available in the
  <a href="https://repository.apache.org/content/repositories/snapshots/">snapshot repository</a>. See the 
  <a href="https://wiki.apache.org/commons/Logging">wiki</a> for details.</p>
</section>
</body>
</document>
