Using slf4j abstraction instead of using a specific logger like log4j2 or logback or java.utils.logging
Context and Scope
There is a logger called JaxRsDpsLogger.java which provides an abstraction in the form of ILogger to override any logging solution provided by cloud provider. There are code instances where a Log library is used instead of JaxRsDpsLogger.java or ILogger which is providing the abstraction
Currently in search core there is a dependency
log4j-to-slf4j which routes logs written to log4j to slf4j. For azure cloud provider we are using slf4j with log4j as the binder. This is causing a circular dependency while using slf4j in azure provider.
log4j-to-slf4j is included in core it was not used anywhere in the core. This can be removed from core and can be added in individual cloud provider module which is using it.
Use slf4j abstraction in cases where a logging library needs to be directly used.
Using slf4j provides flexibility to add any logging solution like log4j2, logback etc., for slf4j abstraction.