Package org.apache.commons.configuration2.io

## Class ConfigurationLogger

- java.lang.Object
- - org.apache.commons.configuration2.io.ConfigurationLogger

-     public class ConfigurationLogger
      extends Object

  A class providing basic logging capabilities.

  When reading configuration files in complex scenarios having log output is useful for diagnostic purposes. Therefore, Commons Configuration produces some logging output. As concrete projects have different requirements on the amount and detail of logging, there is a way of configuring logging: All classes derived from `AbstractConfiguration` can be assigned a logger which is then used for all log statements generated.

  Allowing a logger object to be passed to a configuration creates a direct dependency to a concrete logging framework in the configuration API. This would make it impossible to switch to an alternative logging framework without breaking backwards compatibility. To avoid this, the `ConfigurationLogger` class is introduced. It is a minimum abstraction over a logging framework offering only very basic logging capabilities. The methods defined in this class are used by configuration implementations to produce their logging statements. Client applications can create specialized instances and pass them to configuration objects without having to deal with a concrete logging framework. It is even possible to create a subclass that uses a completely different logging framework.

  Since:
    2.0

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `ConfigurationLogger()` | Creates a new, uninitialized instance of `ConfigurationLogger`.
    `` | `ConfigurationLogger​(Class<?> logCls)` | Creates a new instance of `ConfigurationLogger` that uses a logger whose name is derived from the provided class.
    `` | `ConfigurationLogger​(String loggerName)` | Creates a new instance of `ConfigurationLogger` that uses the specified logger name.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `debug​(String msg)` | Logs the specified message on debug level.
    `void` | `error​(String msg)` | Logs the specified message on error level.
    `void` | `error​(String msg, Throwable ex)` | Logs the specified exception on error level.
    `void` | `info​(String msg)` | Logs the specified message on info level.
    `boolean` | `isDebugEnabled()` | Returns a flag whether logging on debug level is enabled.
    `boolean` | `isInfoEnabled()` | Returns a flag whether logging on info level is enabled.
    `static ConfigurationLogger` | `newDummyLogger()` | Creates a new dummy logger which produces no output.
    `void` | `warn​(String msg)` | Logs the specified message on warn level.
    `void` | `warn​(String msg, Throwable ex)` | Logs the specified exception on warn level.

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

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

- - ### Constructor Detail

    - #### ConfigurationLogger

          public ConfigurationLogger​(String loggerName)

      Creates a new instance of `ConfigurationLogger` that uses the specified logger name.
      Parameters:
        `loggerName` - the logger name (must not be null)
      Throws:
        `IllegalArgumentException` - if the logger name is null

    - #### ConfigurationLogger

          public ConfigurationLogger​(Class<?> logCls)

      Creates a new instance of `ConfigurationLogger` that uses a logger whose name is derived from the provided class.
      Parameters:
        `logCls` - the class whose name is to be used for logging (must not be null)
      Throws:
        `IllegalArgumentException` - if the logger class is null

    - #### ConfigurationLogger

          protected ConfigurationLogger()

      Creates a new, uninitialized instance of `ConfigurationLogger`. This constructor can be used by derived classes that implement their own specific logging mechanism. Such classes must override all methods because the default implementations do not work in this uninitialized state.

  - ### Method Detail

    - #### newDummyLogger

          public static ConfigurationLogger newDummyLogger()

      Creates a new dummy logger which produces no output. If such a logger is passed to a configuration object, logging is effectively disabled.
      Returns:
        the new dummy logger

    - #### isDebugEnabled

          public boolean isDebugEnabled()

      Returns a flag whether logging on debug level is enabled.
      Returns:
        true if debug logging is enabled, false otherwise

    - #### debug

          public void debug​(String msg)

      Logs the specified message on debug level.
      Parameters:
        `msg` - the message to be logged

    - #### isInfoEnabled

          public boolean isInfoEnabled()

      Returns a flag whether logging on info level is enabled.
      Returns:
        true if debug logging is enabled, false otherwise

    - #### info

          public void info​(String msg)

      Logs the specified message on info level.
      Parameters:
        `msg` - the message to be logged

    - #### warn

          public void warn​(String msg)

      Logs the specified message on warn level.
      Parameters:
        `msg` - the message to be logged

    - #### warn

          public void warn​(String msg,
                           Throwable ex)

      Logs the specified exception on warn level.
      Parameters:
        `msg` - the message to be logged
        `ex` - the exception to be logged

    - #### error

          public void error​(String msg)

      Logs the specified message on error level.
      Parameters:
        `msg` - the message to be logged

    - #### error

          public void error​(String msg,
                            Throwable ex)

      Logs the specified exception on error level.
      Parameters:
        `msg` - the message to be logged
        `ex` - the exception to be logged