[slf4j-dev] [Bug 31] Varargs for Logger methods

bugzilla-daemon at pixie.qos.ch bugzilla-daemon at pixie.qos.ch
Mon Nov 23 19:59:26 CET 2009


http://bugzilla.slf4j.org/show_bug.cgi?id=31





--- Comment #68 from Joern Huxhorn <joern at huxhorn.de>  2009-11-23 19:59:25 ---
(In reply to comment #65)
> Janos (boci.boci at gmail.com),
> 
> Even if everyone on the planet was using JDK 1.7, SLF4J would still need to
> ensure binary compatibility with previous versions.  
> 
> If in project P you have dependency D1 using slf4j 1.5 and dependency D2 using
> the newest coolest versions of slf4j, say 1.6, then for D1 and D2 to cohabit,
> slf4j versions 1.5 and 1.6 need to be binary compatible. It has little to do
> with the JDK version actually. Before writing that you disagree, read this over
> until you change your mind.


Well, the new version of SLF4J with varargs would be binary compatible with the
old one - but only if the used JDK would be >= 1.5. Below that startup would
fail because the new SLF4J would use a class file version that would not be
understood by JVM < 1.5.

This could be a problem for projects that want to stay compatible with 1.4.

I'm not 100% sure what will create a bigger outcry, especially since I don't
know if the resulting error message would be clear enough for the name-calling
users with ropes mentioned in comment #54.

If we'd keep SLF4J as it is, moving it into maintenance mode, and defined new
LoggerFactory/Logger in a different package then we'd make sure that no one in
that part of the community (depending on <= 1.4) would run into any problems.

AFAIK, the only SLF4J binding that requires JDK 1.5 is Logback.
Log4J 1.2 will stay 1.4 compatible, 1.3 has been abandoned and 2.0 is supposed
to be 1.5 only but is only vaporware at the moment, I think.

commons-logging is still supporting Java 1.2 (even Java 1.1 to some degree) - I
think for the exact same reason, fear of users...

I've just taken a glance at some of the projects using SLF4J:
http://mvnrepository.com/artifact/org.slf4j/slf4j-api/1.5.6
and there are projects that still explicitly support 1.4, e.g. jGuard.

Leaving SLF4J as it is would prevent any name-calling while bumping the
requirement to 1.5 might just spark it.

I'm not saying "Don't do it!", I'm merely asking "Are you really sure?"...


-- 
Configure bugmail: http://bugzilla.slf4j.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the slf4j-dev mailing list