common-logging、log4j和slf4j的区别
早期Java项目使用最多的日志门面是commons-logging,log4j是推荐的日志实现库,需要的jar包为commons-logging.jar、log4j.jar。
现今java项目推荐的日志门面是slf4j,log4j仍是推荐的日志实现库,需要的jar包为slf4j-api.jar、slf4j-log4j12.jar、log4j.jar,其中绑定包slf4j-log4j12.jar指定了要使用的实现库。
commons-logging存在osgi问题,但早期项目多使用其作为日志门面,为保证兼容仍使用其作为日志门面,但通过slf4j的静态绑定技术来加载具体的日志库log4j,需要的jar包为commons-logging.jar、jcl-over-slf4j.jar、slf4j-api.jar、slf4j-log4j12.jar、log4j.jar,其中jcl-over-slf4j.jar将日志的接口重定向到slf4j。