Details
-
Bug
-
Resolution: Fixed
-
None
-
1.5.x
-
None
-
Operating System: All
Platform: All
-
blocker
-
P1
-
106
Description
This issue was first identified in http://jira.qos.ch/browse/LBCORE-47
While it is reported in the logback project, it is also an SLF4J issue.
The problem can be described as follows:
1) In the static initializer of the LoggerFactory class, the result of
StaticLoggerBinder.SINGLETON.getLoggerFactory() is assigned to the
loggerFactory variable
2) the StaticLoggerBinder.SINGLETON.getLoggerFactory() call,
instantiates a logback LoggerContext which proceeds with
auto-initialization.
3) auto-initialization reads the config file which creates a some component X
4) component X class performs logging via commons-logging, using the jcl-over-slf4j implementation. However, at this stage the loggerFactory variable is not yet assigned. Hence the error.
Solution: Set loggerFactory variable to NOPLoggerFactory before the line
loggerFactory = StaticLoggerBinder.SINGLETON.getLoggerFactory()