Java日志框架
2019-10-22 本文已影响0人
段一萌
java 日志系统
背景
设计之初提供了 集合、线程、IO、网络 等常用功能,有意无意地忽略了一个重要的功能: ** 输出日志** ,如何解决这个问题呢,IO组件来帮忙
System.out.print("我是普通日志");
System.err.print("我是错误日志");
常用日志框架
-
Slf4j Ceki Gülcü
一个日志API框架,本身没有实现 -
Logback Ceki Gülcü
一个高效多功能日志框架,本身有实现 -
Log4j Ceki Gülcü / apache
一个多功能日志框架,本身有实现 -
Commons-logging apache
一个日志API框架,本身没有实现 -
JDK logging java原生
jdk 1.4 之后实现 -
...
框架之间关系
层级结构
框架关系
实现关系
框架实现
常见日志适配器/桥接器
jcl-over-slf4j将Commons-logging日志重定向到SL4J
jul-to-slf4j将JDK logging框架日志重定向到SL4J
slf4j-jdk14适配JDK实现SLF4j接口
slf4j-log4j12适配log4j实现SLF4j接口
log4j-over-slf4j将SLF4j重定向到Log4j
实际组合依赖关系
依赖实现
练习case
-
slf4j + logback
-
slf4j + log4j
-
slf4j + jdkLog
-
commons-logging + jdk
-
slf4j + logback & 适配 旧log4j
-
log4j + jdkLog & 适配 旧slf4j
-
slf4j + logback & 适配 旧jdkLog
-
slf4j + jdkLog & 适配 旧commons-logging