apache common logging是一种log的框架接口,它自己并不实现log记录的功能,而是在运行时动态查找目前存在的日志库,调用相关的日志函数,从而隐藏具体的日志实现
log4j是具体的日志实现,真正负责"写"日志的这个功能
common logging自己不是log,你能够把它看作是一个日志的接口
而log4j就是日志的实现
使用common logging方式实现日志,主要的缘由在于能够忽略底层的日志实现,或者说为之后的日志实现库的更换提供透明界面
你能够考虑下,假设从log4j更换为logback,势必要重写全部本来使用log4j的源代码,而使用common logging的状况下,只须要更换jar包,而不须要对源代码作任何改动