Of the major players, [[log4j]] is still the front runnerleader in the Java Logging ___domain{{Citation needed|date=June 2008}}. The log4j project has been around for a long time and has lots of support from the development community. It's simple to implement in an application, yet has powerful tools built in to accomplish most logging tasks. It is also easily extensible to handle proprietary needs.
The Apache Commons Logging isn't really a logging framework, but a loggingwrapper frameworkfor wrapperone. As such, it requires a logging framework underneath it. It would beis useful in ana heterogeneous environment where the logging framework is likely to change. However, in most cases, once a suitable logging framework has been chosen, there is little need to change it over the life of the project.
The Java Logging API is also 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 accessaccessed by the API. Many developers confuse this implementation with the Java Logging API.
[[SLF4J]] and [[Logback]], both originally written by the same original writer of [[log4j]], are growing potential replacements in particular for log4j and Apache Commons Logging.