log4j1

jcl与jul、log4j1、log4j2、logback的集成原理

独自空忆成欢 提交于 2019-11-30 20:32:20
#1 系列目录 jdk-logging、log4j、logback日志介绍及原理 jcl与jul、log4j1、log4j2、logback的集成原理 slf4j与jdk-logging、log4j1、log4j2、logback的集成原理 slf4j、jcl、jul、log4j1、log4j2、logback大总结 前面介绍了jdk自带的logging、log4j1、log4j2、logback等实际的日志框架 对于开发者而言,每种日志都有不同的写法。如果我们以实际的日志框架来进行编写,代码就限制死了,之后就很难再更换日志系统,很难做到无缝切换。 java web开发就经常提到一项原则:面向接口编程,而不是面向实现编程 所以我们应该是按照一套统一的API来进行日志编程,实际的日志框架来实现这套API,这样的话,即使更换日志框架,也可以做到无缝切换。 这就是commons-logging与slf4j的初衷。 下面就来介绍下commons-logging与slf4j这两个门面如何与上述四个实际的日志框架进行集成的呢 介绍之前先说明下日志简称: jdk自带的logging->简称 jul (java-util-logging) apache commons-logging->简称 jcl #2 apache commons-logging 先从一个简单的使用案例来说明 ##2.1

slf4j、jcl、jul、log4j1、log4j2、logback大总结

血红的双手。 提交于 2019-11-29 16:36:34
#1 系列目录 jdk-logging、log4j、logback日志介绍及原理 commons-logging与jdk-logging、log4j1、log4j2、logback的集成原理 slf4j与jdk-logging、log4j1、log4j2、logback的集成原理 slf4j、jcl、jul、log4j1、log4j2、logback大总结 #2各种jar包总结 log4j1: log4j:log4j1的全部内容 log4j2: log4j-api:log4j2定义的API log4j-core:log4j2上述API的实现 logback: logback-core:logback的核心包 logback-classic:logback实现了slf4j的API commons-logging: commons-logging:commons-logging的原生全部内容 log4j-jcl:commons-logging到log4j2的桥梁 jcl-over-slf4j:commons-logging到slf4j的桥梁 slf4j转向某个实际的日志框架: 场景介绍:如 使用slf4j的API进行编程,底层想使用log4j1来进行实际的日志输出,这就是slf4j-log4j12干的事。 slf4j-jdk14:slf4j到jdk-logging的桥梁 slf4j

slf4j与jul、log4j1、log4j2、logback的集成原理

半城伤御伤魂 提交于 2019-11-29 16:36:02
#1 系列目录 jdk-logging、log4j、logback日志介绍及原理 commons-logging与jdk-logging、log4j1、log4j2、logback的集成原理 slf4j与jdk-logging、log4j1、log4j2、logback的集成原理 slf4j、jcl、jul、log4j1、log4j2、logback大总结 #2 slf4j 先从一个简单的使用案例来说明 ##2.1 简单的使用案例 private static Logger logger=LoggerFactory.getLogger(Log4jSlf4JTest.class); public static void main(String[] args){ if(logger.isDebugEnabled()){ logger.debug("slf4j-log4j debug message"); } if(logger.isInfoEnabled()){ logger.debug("slf4j-log4j info message"); } if(logger.isTraceEnabled()){ logger.debug("slf4j-log4j trace message"); } } 上述Logger接口、LoggerFactory类都是slf4j自己定义的。 ##2.2