This post originated from an RSS feed registered with Java Buzz
by dion.
Original Post: SLF4J: Now you can do logging in Java... oh wait!
Feed Title: techno.blog(Dion)
Feed URL: http://feeds.feedburner.com/dion
Feed Description: blogging about life the universe and everything tech
I had to giggle a little bit here. When commons-logging came along to abstract your logger which abstracts your println (I know.... you CAN write an appender that sends you SMS messages and launches rockets) I thought "wow".
Only the J2EE community would architect twelve levels of abstraction to handle a filtered logging system.
After years of use we realise that the last level of abstraction doesn't do anything for you... but instead of just ignoring it, we have a new one!
The non-Apache follow on to commons-logging is SLF4J. It does things right: Logger, not Log. Better yet, Logger is an interface (it's a class in Log4J) which makes my EasyMock-addled brain quite happy. Finally, SLF4J takes a very simple, very sane approach: you combine the API JAR with one of several implementation JARs. That's it ... no class loader magic, no dynamic binding. This is an ideal solution for those same 99.99999% of applications out there.
Maybe someone could write an abstraction layer on top of commoons-logging and SLF4J.... you know, so you could switch between then without changing the interface.