日志实现
- JUL(java util logging JDK自带)
- log4j、log4j2
- logback
日志门面
- slf4j
- JCL
自己的理解
日志门面提供所有实现的门面。可以理解成面门就是接口,JUL、log4j等是具体实现。
项目中若不想使用门面,直接使用JUL等实现即可;
项目中使用面门,可以随时更换日志实现;
如:项目前期使用slf4j+jul,须引入slf4j-api.jar、slf4j-jdk14jar;
后期随时根据需要更换为slf4j+log4j,只需去掉slf4j-jdk14jar,引入log4相关的包即可;
若项目使用slf4j+log4j,项目引入的jar包未使用日志面门,想要统一日志输出的话,
需要将具体实现转换为slf4j接口,(例如jul-to-slf4.jar)
想统一日志的输出,需要将其他实现转成slf4j,然后再输出。silf4相当于中间转换器,
当然JCL也可以转成slf4j,只引入jcl-over-slf4j.jar;
具体实现的输出配置,参照具体的日志实现。
以此记录自己的粗俗的理解,如有不对之处,欢迎指正!