# Package org.apache.sis.util.logging

package org.apache.sis.util.logging
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 of 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

- Related Packages
  Package
  Description
  org.apache.sis.util
  Simple data objects and miscellaneous utilities.
  org.apache.sis.util.collection
  Addition to the collection framework.
  org.apache.sis.util.iso
  Implementations of GeoAPI types from the `org​.opengis​.util` package.
- Classes
  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 data processing with execution time measurements.