sl4j is a logging abstraction it is not a logging framework. You can use whatever logging framework you would like but you must have sl4j on the classpath. If this is a new project I would recommend using Logback over log4j but either work with sl4j.
Here is a post where a portion discusses configuring sl4j and logback.
http://gordondickens.com/wordpress/2012/07/03/enterprise-spring-best-practices-part-1-project-config/#logging
here is a post describing lo4j with sl4j
http://www.mkyong.com/hibernate/how-to-configure-log4j-in-hibernate-project/
Conflicting versions of sl4j on the classpath will cause issues as well. The first link I posted shows how you can use the
maven enforcer plugin to help with this.