AbstractLogEnabled
Date: 2016-02-08

org.apache.avalon.framework.logger

## Class AbstractLogEnabled

- java.lang.Object
- - org.apache.avalon.framework.logger.AbstractLogEnabled

- All Implemented Interfaces:
    LogEnabled

      public abstract class AbstractLogEnabled
      extends java.lang.Object
      implements LogEnabled

  Utility class to allow easy construction of components that will perform logging.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractLogEnabled()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `enableLogging(Logger logger)` Set the components logger.
    `protected Logger` | `getLogger()` Helper method to allow sub-classes to aquire logger.
    `protected void` | `setupLogger(java.lang.Object component)` Helper method to setup other components with same logger.
    `protected void` | `setupLogger(java.lang.Object component, Logger logger)` Helper method to setup other components with logger.
    `protected void` | `setupLogger(java.lang.Object component, java.lang.String subCategory)` Helper method to setup other components with logger.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AbstractLogEnabled

          public AbstractLogEnabled()

  - ### Method Detail

    - #### enableLogging

          public void enableLogging(Logger logger)

      Set the components logger.
      Specified by:
        `enableLogging` in interface `LogEnabled`
      Parameters:
        `logger` - the logger

    - #### getLogger

          protected final Logger getLogger()

      Helper method to allow sub-classes to aquire logger. This method exists rather than exposing a member variable because it protects other users against future changes. It also means they do not have to use our naming convention.

      There is no performance penalty as this is a final method and will be inlined by the JVM.

      Returns:
        the Logger

    - #### setupLogger

          protected void setupLogger(java.lang.Object component)

      Helper method to setup other components with same logger.
      Parameters:
        `component` - the component to pass logger object to

    - #### setupLogger

          protected void setupLogger(java.lang.Object component,
                         java.lang.String subCategory)

      Helper method to setup other components with logger. The logger has the subcategory of this components logger.
      Parameters:
        `component` - the component to pass logger object to
        `subCategory` - the subcategory to use (may be null)

    - #### setupLogger

          protected void setupLogger(java.lang.Object component,
                         Logger logger)

      Helper method to setup other components with logger.
      Parameters:
        `component` - the component to pass logger object to
        `logger` - the Logger