# Package org.apache.commons.logging

Spring's variant of the Commons Logging API: with special support for Log4J 2, SLF4J and `java.util.logging`.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Log | A simple logging interface abstracting logging APIs.

- Class Summary
  Class | Description
  --- | ---
  LogFactory | A minimal incarnation of Apache Commons Logging's `LogFactory` API, providing just the common `Log` lookup methods.
  LogFactoryService | Deprecated since it is only meant to be used in the above-mentioned fallback scenario

## Package org.apache.commons.logging Description

Spring's variant of the Commons Logging API: with special support for Log4J 2, SLF4J and `java.util.logging`.

This is a custom bridge along the lines of `jcl-over-slf4j`. You may exclude `spring-jcl` and switch to `jcl-over-slf4j` instead if you prefer the hard-bound SLF4J bridge. However, Spring's own bridge provides a better out-of-the-box experience when using Log4J 2 or `java.util.logging`, with no extra bridge jars necessary, and also easier setup of SLF4J with Logback (no JCL exclude, no JCL bridge).

`Log` is equivalent to the original. However, `LogFactory` is a very different implementation which is minimized and optimized for Spring's purposes, detecting Log4J 2.x and SLF4J 1.7 in the framework classpath and falling back to `java.util.logging`. If you run into any issues with this implementation, consider excluding `spring-jcl` and switching to the standard `commons-logging` artifact or to `jcl-over-slf4j`.

Note that this Commons Logging bridge is only meant to be used for framework logging purposes, both in the core framework and in extensions. For applications, prefer direct use of Log4J/SLF4J or `java.util.logging`.