# Package org.apache.sis.util.logging

Extensions to the JDK logging framework.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  WarningListener<S> | Intercepts non-fatal error messages logged by `DataStore` or other SIS objects.

- Class Summary
  Class | Description
  --- | ---
  LoggerAdapter | An adapter that redirect all JDK logging events to an other logging framework.
  LoggerFactory<L> | A factory for Java `Logger` wrapping an other logging framework.
  Logging | A set of utilities method for configuring loggings in SIS.
  MonolineFormatter | A formatter writing log messages on a single line.
  PerformanceLevel | Logging levels for measurements of execution time.
  WarningListeners<S> | Holds a list of `WarningListener` instances and provides convenience methods for emitting warnings.

## Package org.apache.sis.util.logging Description

Extensions to the JDK logging framework. This package provides:

- A `Logging` utility class with static methods for fetching a logger (see Choosing a logging framework below) or logging an exception.
- A `PerformanceLevel` with configurable levels for logging the duration of lengthly processes.
- A `MonolineFormatter` for formatting the log records on single line with colors, for easier reading on the console output.

Choosing a logging framework
The SIS project uses the standard `Logger` API for its logging, but this package allows redirection of logging messages to some other frameworks like Log4J. We recommend to stick to standard JDK logging when possible. However if inter-operability with an other logging framework is required, then the only action needed is to include one of the following JAR on the classpath:

- `sis-logging-commons​.jar` for Apache logging
- `sis-logging-log4j​.jar` for Log4J logging
- Any other JAR registering a `LoggerFactory` implementation.

Note for SIS developers
All SIS code should fetch their logger through a call to our custom `Logging​.getLogger(String)` method instead than the standard `Logger​.getLogger(String)` method. This is necessary in order to give SIS a chance to redirect log events to an other logging framework.

Since:
  0.3
See Also:
  Java Logging Overview

Defined in the `sis-utility` module

Copyright © 2010–2017 The Apache Software Foundation. All rights reserved.