The GateIn Common component defines a set of common classes reused throughout the GateIn project.
GateIn Common Logging
This module defines an API for performing logging. We make a clear distinction between API and framework, as it only defines an API that decouples the logging consumer from the underlying logging framework. The underlying logging framework is SLF4J.
The logging is in a standalone sub module of the common package for testing purpose. As SLF4J relies on runtime class binding in the virtual machine it is not possible to have several implementations of the SFL4J SPI and the unit tests of the facade requires a specific implementation of that SPI.
As SLF4J relies on the runtime class binding of the Java virtual machine, it is important to avoid any component of the project to impose a specific implementation binding, therefore the following must be considered
- The common logging pom defines only the dependency to the SLF4J API artifact and does not specify the SFL4J implementation
- The various project consuming must specify the dependency on an SLF4J binding for testing purpose with the test scope