logback

There are a lot reasons I prefer logback over log4j. Look the log output when you fondle Hibernate. Exactly what I'm looking for if something screwed in ORM:

o.h.transaction.JDBCTransaction - commit
o.h.e.d.AbstractFlushingEventListener - processing flush-time cascades
o.h.e.d.AbstractFlushingEventListener - dirty checking collections
o.h.e.d.AbstractFlushingEventListener - Flushed: 1 insertions, 0 updates, 0 deletions to 1 objects
o.h.e.d.AbstractFlushingEventListener - Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
org.hibernate.pretty.Printer - listing entities:
org.hibernate.pretty.Printer - org.paradise.user.DBUser{username=Hibernate101, createdBy=system, userId=100, createdDate=Sat Apr 23 14:34:08 SGT 2011}
org.hibernate.jdbc.AbstractBatcher - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
org.hibernate.SQL - insert into paradise.DBUSER (CREATED_BY, CREATED_DATE, USERNAME, USER_ID) values (?, ?, ?, ?)
o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - system
o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [DATE] - Sat Apr 23 14:34:08 SGT 2011
o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [VARCHAR] - Hibernate101
o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [INTEGER] - 100