org.apache.ignite.logger.jcl

## Class JclLogger

- java.lang.Object
- - org.apache.ignite.logger.jcl.JclLogger

- All Implemented Interfaces:
    IgniteLogger

      public class JclLogger
      extends Object
      implements IgniteLogger

  This logger wraps any JCL (Jakarta Commons Logging) loggers. Implementation simply delegates to underlying JCL logger. This logger should be used by loaders that have JCL-based internal logging (e.g., Websphere).

  Here is an example of configuring JCL logger in Ignite configuration Spring file to work over log4j implementation. Note that we use the same configuration file as we provide by default:

            ...
            <property name="gridLogger">
                <bean class="org.apache.ignite.logger.jcl.JclLogger">
                    <constructor-arg type="org.apache.commons.logging.Log">
                        <bean class="org.apache.commons.logging.impl.Log42JLogger">
                            <constructor-arg type="java.lang.String" value="config/ignite-log4j.xml"/>
                        </bean>
                    </constructor-arg>
                </bean>
            </property>
            ...

  If you are using system properties to configure JCL logger use following configuration:

            ...
            <property name="gridLogger">
                <bean class="org.apache.ignite.logger.jcl.JclLogger"/>
            </property>
            ...

  And the same configuration if you'd like to configure Ignite in your code:

            IgniteConfiguration cfg = new IgniteConfiguration();
            ...
            IgniteLogger log = new JclLogger(new Log4J2Logger("config/ignite-log4j.xml"));
            ...
            cfg.setGridLogger(log);

  or following for the configuration by means of system properties:

            IgniteConfiguration cfg = new IgniteConfiguration();
            ...
            IgniteLogger log = new JclLogger();
            ...
            cfg.setGridLogger(log);

  It's recommended to use Ignite logger injection instead of using/instantiating logger in your task/job code. See `LoggerResource` annotation about logger injection.

- - ### Field Summary

    - ### Fields inherited from interface org.apache.ignite.IgniteLogger

      `DEV_ONLY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JclLogger()` Creates new logger.
    `JclLogger(org.apache.commons.logging.Log impl)` Creates new logger with given implementation.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `debug(String msg)` Logs out debug message.
    `void` | `error(String msg)` Logs out error message.
    `void` | `error(String msg, @Nullable Throwable e)` Logs error message with optional exception.
    `@Nullable String` | `fileName()` Gets name of the file being logged to if one is configured or `null` otherwise.
    `IgniteLogger` | `getLogger(Object ctgr)` Creates new logger with given category based off the current instance.
    `void` | `info(String msg)` Logs out information message.
    `boolean` | `isDebugEnabled()` Tests whether `debug` level is enabled.
    `boolean` | `isInfoEnabled()` Tests whether `info` level is enabled.
    `boolean` | `isQuiet()` Tests whether Logger is in "Quiet mode".
    `boolean` | `isTraceEnabled()` Tests whether `trace` level is enabled.
    `String` | `toString()`
    `void` | `trace(String msg)` Logs out trace message.
    `void` | `warning(String msg)` Logs out warning message.
    `void` | `warning(String msg, @Nullable Throwable e)` Logs out warning message with optional exception.

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

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

    - ### Methods inherited from interface org.apache.ignite.IgniteLogger

      `debug, error, info, trace, warning`

- - ### Constructor Detail

    - #### JclLogger

          public JclLogger()

      Creates new logger.

    - #### JclLogger

          public JclLogger(org.apache.commons.logging.Log impl)

      Creates new logger with given implementation.
      Parameters:
        `impl` - JCL implementation to use.

  - ### Method Detail

    - #### getLogger

          public IgniteLogger getLogger(Object ctgr)

      Creates new logger with given category based off the current instance.
      Specified by:
        `getLogger` in interface `IgniteLogger`
      Parameters:
        `ctgr` - Category for new logger.
      Returns:
        New logger with given category.

    - #### trace

          public void trace(String msg)

      Logs out trace message.
      Specified by:
        `trace` in interface `IgniteLogger`
      Parameters:
        `msg` - Trace message.

    - #### debug

          public void debug(String msg)

      Logs out debug message.
      Specified by:
        `debug` in interface `IgniteLogger`
      Parameters:
        `msg` - Debug message.

    - #### info

          public void info(String msg)

      Logs out information message.
      Specified by:
        `info` in interface `IgniteLogger`
      Parameters:
        `msg` - Information message.

    - #### warning

          public void warning(String msg)

      Logs out warning message.
      Specified by:
        `warning` in interface `IgniteLogger`
      Parameters:
        `msg` - Warning message.

    - #### warning

          public void warning(String msg,
                              @Nullable
                              @Nullable Throwable e)

      Logs out warning message with optional exception.
      Specified by:
        `warning` in interface `IgniteLogger`
      Parameters:
        `msg` - Warning message.
        `e` - Optional exception (can be `null`).

    - #### error

          public void error(String msg)

      Logs out error message.
      Specified by:
        `error` in interface `IgniteLogger`
      Parameters:
        `msg` - Error message.

    - #### isQuiet

          public boolean isQuiet()

      Tests whether Logger is in "Quiet mode".
      Specified by:
        `isQuiet` in interface `IgniteLogger`
      Returns:
        `true` "Quiet mode" is enabled, `false` otherwise

    - #### error

          public void error(String msg,
                            @Nullable
                            @Nullable Throwable e)

      Logs error message with optional exception.
      Specified by:
        `error` in interface `IgniteLogger`
      Parameters:
        `msg` - Error message.
        `e` - Optional exception (can be `null`).

    - #### isTraceEnabled

          public boolean isTraceEnabled()

      Tests whether `trace` level is enabled.
      Specified by:
        `isTraceEnabled` in interface `IgniteLogger`
      Returns:
        `true` in case when `trace` level is enabled, `false` otherwise.

    - #### isDebugEnabled

          public boolean isDebugEnabled()

      Tests whether `debug` level is enabled.
      Specified by:
        `isDebugEnabled` in interface `IgniteLogger`
      Returns:
        `true` in case when `debug` level is enabled, `false` otherwise.

    - #### isInfoEnabled

          public boolean isInfoEnabled()

      Tests whether `info` level is enabled.
      Specified by:
        `isInfoEnabled` in interface `IgniteLogger`
      Returns:
        `true` in case when `info` level is enabled, `false` otherwise.

    - #### fileName

          @Nullable
          public @Nullable String fileName()

      Gets name of the file being logged to if one is configured or `null` otherwise.
      Specified by:
        `fileName` in interface `IgniteLogger`
      Returns:
        Name of the file being logged to if one is configured or `null` otherwise.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

${current.year} Copyright © Apache Software Foundation
| Follow @ApacheIgnite
Ignite Database and Caching Platform | : ver. 2.15.0
Release Date | : April 25 2023