org.apache.commons.logging

Class LogFactory

  • java.lang.Object
    • org.apache.commons.logging.LogFactory
  • Direct Known Subclasses:
    LogFactoryService


    public abstract class LogFactory
    extends java.lang.Object
    A minimal incarnation of Apache Commons Logging's LogFactory API, providing just the common Log lookup methods. This is inspired by the JCL-over-SLF4J bridge and should be source as well as binary compatible with all common use of the Commons Logging API (in particular: with LogFactory.getLog(Class/String) field initializers).

    This implementation does not support Commons Logging's original provider detection. It rather only checks for the presence of the Log4j 2.x API and the SLF4J 1.7 API in the Spring Framework classpath, falling back to java.util.logging if none of the two is available. In that sense, it works as a replacement for the Log4j 2 Commons Logging bridge as well as the JCL-over-SLF4J bridge, both of which become irrelevant for Spring-based setups as a consequence (with no need for manual excludes of the standard Commons Logging API jar anymore either). Furthermore, for simple setups without an external logging provider, Spring does not require any extra jar on the classpath anymore since this embedded log factory automatically delegates to java.util.logging in such a scenario.

    Note that this Commons Logging variant is only meant to be used for infrastructure logging purposes in the core framework and in extensions. It also serves as a common bridge for third-party libraries using the Commons Logging API, e.g. Apache HttpClient, Castor and HtmlUnit, bringing them into the same consistent arrangement without any extra bridge jars.

    For logging need in application code, prefer direct use of Log4j 2.x or SLF4J or java.util.logging. Simply put Log4j 2.x or Logback (or another SLF4J provider) onto your classpath, without any extra bridges, and let the framework auto-adapt to your choice.

    Since:
    5.0
    Author:
    Juergen Hoeller (for the spring-jcl variant)
    • Constructor Detail

      • LogFactory

        public LogFactory()
    • Method Detail

      • getLog

        public static Log getLog(java.lang.Class<?> clazz)
        Convenience method to return a named logger.
        Parameters:
        clazz - containing Class from which a log name will be derived
      • getLog

        public static Log getLog(java.lang.String name)
        Convenience method to return a named logger.
        Parameters:
        name - logical name of the Log instance to be returned
      • getInstance

        @Deprecated
        public Log getInstance(java.lang.Class<?> clazz)
        Deprecated. in favor of getLog(Class)
        Convenience method to return a named logger.

        This variant just dispatches straight to getLog(Class).

        Parameters:
        clazz - containing Class from which a log name will be derived
      • getInstance

        @Deprecated
        public Log getInstance(java.lang.String name)
        Deprecated. in favor of getLog(String)
        Convenience method to return a named logger.

        This variant just dispatches straight to getLog(String).

        Parameters:
        name - logical name of the Log instance to be returned