一、Java日志
jdk-logging、log4j、logback日志介绍及原理
总结一下就是:
1.1 日志桥接关系的图
上图是现在日志桥接关系的图,三个流行接口,四个流行的实现
三个接口
- JCL(Java Commons Log)
- SLF4J(The Simple Logging Facade for Java)
- Log4j2-api
四个实现
- Log4j(Log4j 1.x)
- JUL(Java Util Log)
- Logback
- Log4j2-core
1.2 最佳实践
- 总是使用Log Facade,而不是具体Log Implementation
- 只添加一个 Log Implementation依赖
- 具体的日志实现依赖应该设置为optional和使用runtime scope
- 如果有必要, 排除依赖的第三方库中的Log Impementation依赖
- 避免为不会输出的log付出代价
- 日志格式中最好不要使用行号,函数名等字段
- log中不要输出稀奇古怪的字符!
二、logback
三、log4j2
四、实例
四个小工程