org.apache.uima.util

## Interface Logger

- All Superinterfaces:
    org.slf4j.Logger

      public interface Logger
      extends org.slf4j.Logger

  A `Logger` is a component used to log messages. This interface defines the standard way for UIMA components to produce log output.

  In the UIMA SDK, this interface is implemented using the Java logger as a back end.

  The back end may be changed to Apache Log4j 2 by specifying `-Dorg.apache.uima.logger.class=org.apache.uima.util.impl.Log4jLogger_impl` and including the log4j 2 JARs in the classpath.

  If you want to configure the logger, for example to specify the location of the log file and the logging level, you use whatever back end logger implementation specifies, or use that logger's APIs. should use the standard Java logger properties or the java.util.logging APIs. See the section "Specifying the Logging Configuration" in the Annotator and Analysis Engine Developer's Guide chapter of the UIMA documentation for more information.

  Version 3 augments this API with methods to do UIMA-Resource-bundle-based internationalization, separate from logging, so the String result can be used with various back end loggers.

  Version 3 augments isLoggable to include the Marker.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static org.slf4j.Marker` | `UIMA_MARKER_CONFIG`
    `static org.slf4j.Marker` | `UIMA_MARKER_FINEST`

    - ### Fields inherited from interface org.slf4j.Logger

      `ROOT_LOGGER_NAME`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `debug(org.slf4j.Marker marker, String message, Supplier<?>... paramSuppliers)`
    `void` | `debug(org.slf4j.Marker marker, Supplier<String> msgSupplier)`
    `void` | `debug(org.slf4j.Marker marker, Supplier<String> msgSupplier, Throwable throwable)`
    `void` | `debug(String message, Supplier<?>... paramSuppliers)`
    `void` | `debug(Supplier<String> msgSupplier)`
    `void` | `debug(Supplier<String> msgSupplier, Throwable throwable)`
    `void` | `error(org.slf4j.Marker marker, String message, Supplier<?>... paramSuppliers)`
    `void` | `error(org.slf4j.Marker marker, Supplier<String> msgSupplier)`
    `void` | `error(org.slf4j.Marker marker, Supplier<String> msgSupplier, Throwable throwable)`
    `void` | `error(String message, Supplier<?>... paramSuppliers)`
    `void` | `error(Supplier<String> msgSupplier)`
    `void` | `error(Supplier<String> msgSupplier, Throwable throwable)`
    `default Logger` | `getLimitedLogger(int limit)`
    `void` | `info(org.slf4j.Marker marker, String message, Supplier<?>... paramSuppliers)`
    `void` | `info(org.slf4j.Marker marker, Supplier<String> msgSupplier)`
    `void` | `info(org.slf4j.Marker marker, Supplier<String> msgSupplier, Throwable throwable)`
    `void` | `info(Supplier<String> msgSupplier)`
    `void` | `info(Supplier<String> msgSupplier, Throwable throwable)`
    `boolean` | `isAnnotatorLogger()` This is true if the name of the logger corresponds to a class which implements AnalysisComponent_ImplBase, which includes basic Annotators, plus Cas Multipliers and CPP components.
    `boolean` | `isLoggable(Level level)` Checks if the argument level is greater or equal to the specified level
    `boolean` | `isLoggable(Level level, org.slf4j.Marker marker)` Checks if this logger is enabled for this level and this marker
    `void` | `log(Level level, String aMessage)` Logs a message.
    `void` | `log(Level level, String aMessage, Object param1)` Logs a message with one parameter
    `void` | `log(Level level, String aMessage, Object[] params)` Logs a message with an arbitrary number of parameters
    `void` | `log(Level level, String aMessage, Throwable thrown)` Logs a message and a throwable object
    `void` | `log(String aMessage)` Deprecated. use new function with log level
    `void` | `log(String wrapperFQCN, Level level, String message, Throwable thrown)` Generic logging method intended for logging wrappers.
    `void` | `log(String aResourceBundleName, String aMessageKey, Object[] aArguments)` Deprecated. use new function with log level
    `void` | `logException(Exception aException)` Deprecated. use new function with log level
    `void` | `logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msgKey)` Logs a message with a message key.
    `void` | `logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msgKey, Object param1)` Logs a message with a message key and one parameter.
    `void` | `logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msgKey, Object[] params)` Logs a message with a message key and an arbitrary number of parameters.
    `void` | `logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msgKey, Throwable thrown)` Logs a message with a message key and a throwable object.
    `default String` | `rb_ue(String key, Object... params)`
    `String` | `rb(String resourceBundle, String key, Object... params)` Get an internationalized message from a resource bundle by key name, substituting the parameters.
    `void` | `setLevel(Level level)` Sets the level of messages that will be logged by this logger.
    `void` | `setOutputStream(OutputStream aStream)` Deprecated. use external configuration possibility
    `void` | `setOutputStream(PrintStream aStream)` Deprecated. use external configuration possibility
    `void` | `setResourceManager(ResourceManager resourceManager)` Deprecated. When a logger is used within UIMA, the resource manager is picked up from the `UimaContextHolder` and if none is available, then the class loader set on the `Thread.getContextClassLoader()` is used. Thus, setting a resource manager for loading message localizations should not be required. Setting a resource manager anyway can lead to resource being registered in the resource manager to not be garbage collected in a timely manner. Also, the logger is shared globally and in a multi-threaded/multi-classloader scenario, it is likely that different threads overwrite each others logger resource manager making it likely that in any given thread the wrong resource manager is used by the logger.
    `void` | `trace(org.slf4j.Marker marker, String message, Supplier<?>... paramSuppliers)`
    `void` | `trace(org.slf4j.Marker marker, Supplier<String> msgSupplier)`
    `void` | `trace(org.slf4j.Marker marker, Supplier<String> msgSupplier, Throwable throwable)`
    `void` | `trace(String message, Supplier<?>... paramSuppliers)`
    `void` | `trace(Supplier<String> msgSupplier)`
    `void` | `trace(Supplier<String> msgSupplier, Throwable throwable)`
    `void` | `warn(org.slf4j.Marker marker, String message, Supplier<?>... paramSuppliers)`
    `void` | `warn(org.slf4j.Marker marker, Supplier<String> msgSupplier)`
    `void` | `warn(org.slf4j.Marker marker, Supplier<String> msgSupplier, Throwable throwable)`
    `void` | `warn(String message, Supplier<?>... paramSuppliers)`
    `void` | `warn(Supplier<String> msgSupplier)`
    `void` | `warn(Supplier<String> msgSupplier, Throwable throwable)`

    - ### Methods inherited from interface org.slf4j.Logger

      `debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, error, error, error, error, error, error, error, error, error, error, getName, info, info, info, info, info, info, info, info, info, info, isDebugEnabled, isDebugEnabled, isErrorEnabled, isErrorEnabled, isInfoEnabled, isInfoEnabled, isTraceEnabled, isTraceEnabled, isWarnEnabled, isWarnEnabled, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn`

- - ### Field Detail

    - #### UIMA_MARKER_CONFIG

          static final org.slf4j.Marker UIMA_MARKER_CONFIG

    - #### UIMA_MARKER_FINEST

          static final org.slf4j.Marker UIMA_MARKER_FINEST

  - ### Method Detail

    - #### log

          @Deprecated
          void log(String aMessage)

      Deprecated. use new function with log level
      Logs a message.
      Parameters:
        `aMessage` - the message to be logged with message level INFO

    - #### log

          @Deprecated
          void log(String aResourceBundleName,
                               String aMessageKey,
                               Object[] aArguments)

      Deprecated. use new function with log level
      Logs an internationalized message.
      Parameters:
        `aResourceBundleName` - base name of resource bundle
        `aMessageKey` - key of message to localize with message level INFO
        `aArguments` - arguments to message (may be null if none)

    - #### logException

          @Deprecated
          void logException(Exception aException)

      Deprecated. use new function with log level
      Logs an exception
      Parameters:
        `aException` - the exception to be logged with message level INFO

    - #### setOutputStream

          @Deprecated
          void setOutputStream(PrintStream aStream)

      Deprecated. use external configuration possibility
      Sets the output stream to which log messages will go. Setting the output stream to `null` will disable the logger.
      Parameters:
        `aStream` - `PrintStream` to which log messages will be printed

    - #### setOutputStream

          @Deprecated
          void setOutputStream(OutputStream aStream)

      Deprecated. use external configuration possibility
      Sets the output stream to which log messages will go. Setting the output stream to `null` will disable the logger.
      Parameters:
        `aStream` - `OutputStream` to which log messages will be printed

    - #### log

          void log(Level level,
                   String aMessage)

      Logs a message.
      Parameters:
        `level` - message level
        `aMessage` - the message to be logged

    - #### log

          void log(Level level,
                   String aMessage,
                   Object param1)

      Logs a message with one parameter
      Parameters:
        `level` - message level
        `aMessage` - the message to be logged
        `param1` - message parameter

    - #### log

          void log(Level level,
                   String aMessage,
                   Object[] params)

      Logs a message with an arbitrary number of parameters
      Parameters:
        `level` - message level
        `aMessage` - the message to be logged
        `params` - message parameter array

    - #### log

          void log(Level level,
                   String aMessage,
                   Throwable thrown)

      Logs a message and a throwable object
      Parameters:
        `level` - message level
        `aMessage` - the message to be logged
        `thrown` - throwable object

    - #### logrb

          void logrb(Level level,
                     String sourceClass,
                     String sourceMethod,
                     String bundleName,
                     String msgKey)

      Logs a message with a message key. The real message is extracted from a resource bundle.
      Parameters:
        `level` - message level
        `sourceClass` - source class name
        `sourceMethod` - source method name
        `bundleName` - resource bundle
        `msgKey` - message key

    - #### logrb

          void logrb(Level level,
                     String sourceClass,
                     String sourceMethod,
                     String bundleName,
                     String msgKey,
                     Object param1)

      Logs a message with a message key and one parameter. The real message is extracted from a resource bundle.
      Parameters:
        `level` - message level
        `sourceClass` - source class name
        `sourceMethod` - source method name
        `bundleName` - resource bundle
        `msgKey` - message key
        `param1` - message parameter

    - #### logrb

          void logrb(Level level,
                     String sourceClass,
                     String sourceMethod,
                     String bundleName,
                     String msgKey,
                     Object[] params)

      Logs a message with a message key and an arbitrary number of parameters. The real message is extracted from a resource bundle.
      Parameters:
        `level` - message level
        `sourceClass` - source class name
        `sourceMethod` - source method name
        `bundleName` - resource bundle
        `msgKey` - message key
        `params` - message parameter array with an arbitrary number of parameters

    - #### logrb

          void logrb(Level level,
                     String sourceClass,
                     String sourceMethod,
                     String bundleName,
                     String msgKey,
                     Throwable thrown)

      Logs a message with a message key and a throwable object. The real message is extracted from a resource bundle.
      Parameters:
        `level` - message level
        `sourceClass` - source class name
        `sourceMethod` - source method name
        `bundleName` - resource bundle
        `msgKey` - message key
        `thrown` - throwable object

    - #### log

          void log(String wrapperFQCN,
                   Level level,
                   String message,
                   Throwable thrown)

      Generic logging method intended for logging wrappers.
      Parameters:
        `wrapperFQCN` - fully qualified class name of the wrapper
        `level` - message level
        `message` - message
        `thrown` - throwable object

    - #### isLoggable

          boolean isLoggable(Level level)

      Checks if the argument level is greater or equal to the specified level
      Parameters:
        `level` - message level
      Returns:
        boolean - true if the argument level is greater or equal to the specified level

    - #### isLoggable

          boolean isLoggable(Level level,
                             org.slf4j.Marker marker)

      Checks if this logger is enabled for this level and this marker
      Parameters:
        `level` - the level to test
        `marker` - null or the marker to test
      Returns:
        true if the level is greater or equal to the specified level and the marker matches

    - #### setLevel

          void setLevel(Level level)

      Sets the level of messages that will be logged by this logger. Note that if you call `UIMAFramework.getLogger().setLevel(level)`, this will only change the logging level for messages produced by the UIMA framework. It will NOT change the logging level for messages produced by annotators. To change the logging level for an annotator, use `UIMAFramework.getLogger(YourAnnotatorClass.class).setLevel(level)`.

      If you need more flexibility it configuring the logger, consider using the standard Java logger properties file or the java.util.logging APIs.

      Parameters:
        `level` - message level

    - #### setResourceManager

          @Deprecated
          void setResourceManager(ResourceManager resourceManager)

      Deprecated. When a logger is used within UIMA, the resource manager is picked up from the `UimaContextHolder` and if none is available, then the class loader set on the `Thread.getContextClassLoader()` is used. Thus, setting a resource manager for loading message localizations should not be required. Setting a resource manager anyway can lead to resource being registered in the resource manager to not be garbage collected in a timely manner. Also, the logger is shared globally and in a multi-threaded/multi-classloader scenario, it is likely that different threads overwrite each others logger resource manager making it likely that in any given thread the wrong resource manager is used by the logger.
      Sets the ResourceManager to use for message localization. This method is intended for use by the framework, not by user code.
      Parameters:
        `resourceManager` - A resource manager instance whose extension ClassLoader (if any) will be used for message localization by this logger.

    - #### rb

          String rb(String resourceBundle,
                    String key,
                    Object... params)

      Get an internationalized message from a resource bundle by key name, substituting the parameters. This should be called via a Supplier to avoid computing this until needed
      Parameters:
        `resourceBundle` - -
        `key` - -
        `params` - -
      Returns:
        the internationalized message

    - #### rb_ue

          default String rb_ue(String key,
                               Object... params)

    - #### isAnnotatorLogger

          boolean isAnnotatorLogger()

      This is true if the name of the logger corresponds to a class which implements AnalysisComponent_ImplBase, which includes basic Annotators, plus Cas Multipliers and CPP components.
      Returns:
        true if this logger is an Annotator logger.

    - #### getLimitedLogger

          default Logger getLimitedLogger(int limit)

      Parameters:
        `limit` - the limit
      Returns:
        a copy of the logger with the throttling limit set, or the same logger if no change

    - #### debug

          void debug(Supplier<String> msgSupplier)

      Parameters:
        `msgSupplier` - A function, which when called, produces the desired log message

    - #### debug

          void debug(Supplier<String> msgSupplier,
                     Throwable throwable)

      Parameters:
        `msgSupplier` - A function, which when called, produces the desired log message
        `throwable` - the exception to log

    - #### debug

          void debug(org.slf4j.Marker marker,
                     String message,
                     Supplier<?>... paramSuppliers)

      Parameters:
        `marker` - the marker data specific to this log statement
        `message` - the message to log
        `paramSuppliers` - An array of functions, which when called, produce the desired log message parameters.

    - #### debug

          void debug(String message,
                     Supplier<?>... paramSuppliers)

      Parameters:
        `message` - the message to log
        `paramSuppliers` - An array of functions, which when called, produce the desired log message parameters.

    - #### debug

          void debug(org.slf4j.Marker marker,
                     Supplier<String> msgSupplier)

      Parameters:
        `marker` - the marker data specific to this log statement
        `msgSupplier` - A function, which when called, produces the desired log message

    - #### debug

          void debug(org.slf4j.Marker marker,
                     Supplier<String> msgSupplier,
                     Throwable throwable)

      Parameters:
        `marker` - the marker data specific to this log statement
        `msgSupplier` - A function, which when called, produces the desired log message
        `throwable` - the exception to log

    - #### error

          void error(Supplier<String> msgSupplier)

      Parameters:
        `msgSupplier` - A function, which when called, produces the desired log message

    - #### error

          void error(Supplier<String> msgSupplier,
                     Throwable throwable)

      Parameters:
        `msgSupplier` - A function, which when called, produces the desired log message
        `throwable` - the exception to log

    - #### error

          void error(org.slf4j.Marker marker,
                     String message,
                     Supplier<?>... paramSuppliers)

      Parameters:
        `marker` - the marker data specific to this log statement
        `message` - the message to log
        `paramSuppliers` - An array of functions, which when called, produce the desired log message parameters.

    - #### error

          void error(String message,
                     Supplier<?>... paramSuppliers)

      Parameters:
        `message` - the message to log
        `paramSuppliers` - An array of functions, which when called, produce the desired log message parameters.

    - #### error

          void error(org.slf4j.Marker marker,
                     Supplier<String> msgSupplier)

      Parameters:
        `marker` - the marker data specific to this log statement
        `msgSupplier` - A function, which when called, produces the desired log message

    - #### error

          void error(org.slf4j.Marker marker,
                     Supplier<String> msgSupplier,
                     Throwable throwable)

      Parameters:
        `marker` - the marker data specific to this log statement
        `msgSupplier` - A function, which when called, produces the desired log message
        `throwable` - the exception to log

    - #### info

          void info(Supplier<String> msgSupplier)

      Parameters:
        `msgSupplier` - A function, which when called, produces the desired log message

    - #### info

          void info(Supplier<String> msgSupplier,
                    Throwable throwable)

      Parameters:
        `msgSupplier` - A function, which when called, produces the desired log message
        `throwable` - the exception to log

    - #### info

          void info(org.slf4j.Marker marker,
                    String message,
                    Supplier<?>... paramSuppliers)

      Parameters:
        `marker` - the marker data specific to this log statement
        `message` - the message to log
        `paramSuppliers` - An array of functions, which when called, produce the desired log message parameters.

    - #### info

          void info(org.slf4j.Marker marker,
                    Supplier<String> msgSupplier)

      Parameters:
        `marker` - the marker data specific to this log statement
        `msgSupplier` - A function, which when called, produces the desired log message

    - #### info

          void info(org.slf4j.Marker marker,
                    Supplier<String> msgSupplier,
                    Throwable throwable)

      Parameters:
        `marker` - the marker data specific to this log statement
        `msgSupplier` - A function, which when called, produces the desired log message
        `throwable` - the exception to log

    - #### trace

          void trace(Supplier<String> msgSupplier)

      Parameters:
        `msgSupplier` - A function, which when called, produces the desired log message

    - #### trace

          void trace(Supplier<String> msgSupplier,
                     Throwable throwable)

      Parameters:
        `msgSupplier` - A function, which when called, produces the desired log message
        `throwable` - the exception to log

    - #### trace

          void trace(org.slf4j.Marker marker,
                     String message,
                     Supplier<?>... paramSuppliers)

      Parameters:
        `marker` - the marker data specific to this log statement
        `message` - the message to log
        `paramSuppliers` - An array of functions, which when called, produce the desired log message parameters.

    - #### trace

          void trace(String message,
                     Supplier<?>... paramSuppliers)

      Parameters:
        `message` - the message to log
        `paramSuppliers` - An array of functions, which when called, produce the desired log message parameters.

    - #### trace

          void trace(org.slf4j.Marker marker,
                     Supplier<String> msgSupplier)

      Parameters:
        `marker` - the marker data specific to this log statement
        `msgSupplier` - A function, which when called, produces the desired log message

    - #### trace

          void trace(org.slf4j.Marker marker,
                     Supplier<String> msgSupplier,
                     Throwable throwable)

      Parameters:
        `marker` - the marker data specific to this log statement
        `msgSupplier` - A function, which when called, produces the desired log message
        `throwable` - the exception to log

    - #### warn

          void warn(Supplier<String> msgSupplier)

      Parameters:
        `msgSupplier` - A function, which when called, produces the desired log message

    - #### warn

          void warn(Supplier<String> msgSupplier,
                    Throwable throwable)

      Parameters:
        `msgSupplier` - A function, which when called, produces the desired log message
        `throwable` - the exception to log

    - #### warn

          void warn(org.slf4j.Marker marker,
                    String message,
                    Supplier<?>... paramSuppliers)

      Parameters:
        `marker` - the marker data specific to this log statement
        `message` - the message to log
        `paramSuppliers` - An array of functions, which when called, produce the desired log message parameters.

    - #### warn

          void warn(String message,
                    Supplier<?>... paramSuppliers)

      Parameters:
        `message` - the message to log
        `paramSuppliers` - An array of functions, which when called, produce the desired log message parameters.

    - #### warn

          void warn(org.slf4j.Marker marker,
                    Supplier<String> msgSupplier)

      Parameters:
        `marker` - the marker data specific to this log statement
        `msgSupplier` - A function, which when called, produces the desired log message

    - #### warn

          void warn(org.slf4j.Marker marker,
                    Supplier<String> msgSupplier,
                    Throwable throwable)

      Parameters:
        `marker` - the marker data specific to this log statement
        `msgSupplier` - A function, which when called, produces the desired log message
        `throwable` - the exception to log

Copyright © 2006–2022 The Apache Software Foundation. All rights reserved.