Details
-
Bug
-
Resolution: Incomplete
-
None
-
None
-
None
-
Operating System: Windows XP
Platform: PC
-
blocker
-
P1
-
62
Description
Log level contstants was modified in LocationAwareLogger.java (see SLF4J-15). But jcl104-over-slf4j was not recompiled after that change. Because java compiler sometime puts constants into target method, there are sometime old values of these constants in jcl104-over-slf4j classes in http://www.slf4j.org/dist/slf4j-1.4.3.zip
For example, in class org.apache.commons.logging.impl.SLF4JLocationAwareLog there is following method:
public void warn(Object message)
{ logger.log(null, FQCN, LocationAwareLogger.WARN_INT, String.valueOf(message), null); }In current class it is compiled as:
public void warn(Object message)
{ logger.log(null, FQCN, 2, String.valueOf(message), null); }because 2 was old value of LocationAwareLogger.WARN_INT. It results in following exception:
java.lang.IllegalArgumentException: 2 not a valid level value
at ch.qos.logback.classic.Logger.log(Logger.java:820)
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.warn(SLF4JLocat
ionAwareLog.java:141)
Perhaps all classes of sl4j needs recompilation.