Apache Commons Logging isn't really a logging framework, but a wrapper for one. As such, it requires a logging framework underneath it. It is particularly useful when developing reusable libraries which need to write to whichever underlying logging system is being used by the application. It also provides flexibility in heterogeneous environments where the logging framework is likely to change, although in most cases, once a logging framework has been chosen, there is little need to change it over the life of the project.
The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time.
Java Logging API
The Java Logging API is not a logging framework, but a standard API for accessing a logging framework. Compatible frameworks can be loaded into JVM and accessed via the API. There is also a logging implementation supplied with the Sun JVM which is the default logging framework accessed by the API. Many developers confuse this implementation with the Java Logging API.
tinylog is a minimalist logger for Java, optimized for ease of use.