首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JUL到SLF4J大桥

JUL(Java Util Logging)是Java平台自带的日志框架,而SLF4J(Simple Logging Facade for Java)是一个为各种日志框架提供统一接口的桥接器。

JUL是Java开发中常用的日志框架之一,它提供了一套用于记录应用程序运行时信息的API。JUL的优势在于它是Java平台自带的,无需额外引入依赖,可以直接在Java应用程序中使用。JUL支持日志级别、日志格式化、日志过滤等常见的日志功能,并且可以通过配置文件进行灵活的配置。

然而,JUL也存在一些局限性,例如在功能和扩展性方面相对较弱,配置相对复杂,不支持动态修改日志级别等。为了解决这些问题,SLF4J应运而生。

SLF4J是一个为各种日志框架提供统一接口的桥接器,它的目标是简化日志系统的使用和切换。通过使用SLF4J,开发人员可以在代码中使用统一的API进行日志记录,而无需关心具体使用的日志框架是JUL、Log4j还是其他框架。SLF4J提供了一套简洁的API,包括日志级别、日志格式化、日志过滤等常见的日志功能。

对于JUL到SLF4J的桥接,可以使用SLF4J提供的适配器(Adapter)来实现。SLF4J提供了一个名为jul-to-slf4j的适配器,可以将JUL的日志记录转发到SLF4J框架中。通过使用这个适配器,开发人员可以在使用JUL的代码中,使用SLF4J的API进行日志记录,从而充分发挥SLF4J的优势。

总结起来,JUL是Java平台自带的日志框架,而SLF4J是一个为各种日志框架提供统一接口的桥接器。通过使用SLF4J的适配器,可以将JUL的日志记录转发到SLF4J框架中,从而充分发挥SLF4J的优势。在使用JUL进行日志记录时,可以考虑使用SLF4J桥接器来统一日志接口,提高代码的可维护性和扩展性。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

快速了解常用日志技术(JCL、Slf4jJUL、Log4j、Logback、Log4j2)

一、简介 JULJUL全称Java util Logging是java原生的日志框架,使用时不需要另外引用第三方类库,相对其他日志框架使用方便,学习简单,能够在小型应用中灵活使用。...常见的日志门面 : JCL、slf4j 常见的日志实现: JUL、log4j、logback、log4j2 日志框架出现的历史顺序: log4j —> JUL—> JCL—> slf4j —> logback...指定日志文件的字符集 log4j.appender.rollingFile.encoding = UTF-8 #总共只会维护10个最大 1 MB 的文件 # 指定日志文件内容的大小(超过以后重新复制新的文件...Log4j 2是对Log4j的升级版,参考了logback的一些优秀的设计,并且修复了一些问题,因此带来了一些重大的提升,主要有: 异常处理:在logback中,Appender中的异常不会被应用感知,...使用了SLF4J作为日志门面。 将JUL也转换成slf4j。 也可以使用log4j2作为日志门面,但是最终也是通过slf4j调用logback。 最终的输出都是采用logback进行日志输出的。

53520

认识Spring 中的日志

logback-classic: logback的主要日志依赖 log4j-to-slf4j:将lo4j日志桥接到了slf4j日志框架,spring 框架默认使用的,所以需要该依赖 jul-to-slf4j...:将jul日志桥接到了slf4j日志框架,tomcat框架默认使用的,jul 即Java Util Logging 正因为Spring Boot 使用到了Spring、Tomcat,但两者都各自使用了不同的日志框架...这里我们看到两个依赖都桥接到了slf4j,那什么是slf4j?大部分人应该都知道slf4j是一种抽象日志框架,要能够输出日志,slf4j还需要绑定具体的日志框架,比如logback-classic。...那为什么会出来slf4j呢。 到目前为止Java生态有很多的日志框架:logback、log4j、log4j2、simpleLog、JUL等。...,使用SLF4J来确定具体的日志框架,更多的桥接器可以官网中查看。

7910

Spring入门精通-日志体系

基本的都是直接使用别人配置好的东西,那么这么多的日志框架,他是如何做到日志的统一打印呢,spring是如何实现的,springboot是如何实现,又有哪些日志框架呢,具体是如何实现以及选择的呢 ---- 日志框架 Jul...现在我们需要统一日志方案,统一使用Slf4j,把他们的日志输出重定向Slf4j,然后Slf4j又会根据绑定器把日志交给具体的日志实现工具.Slf4j带有几个桥接模块,可以重定向Log4j,Log4j2...,JCL和JUL中的ApiSlf4j。...--jul桥接器--> org.slf4j jul-to-slf4j</artifactId....jar的存在会将所有日志调用委托给jdk的log.但由于同时jul-to-slf4j.jar的存在,会将所有对jul api的调用委托给相应等值的slf4j,所以jul-to-slf4j.jar和slf4j-jdk14

12730

走进JavaWeb技术世界9:Java日志系统的诞生与发展

该系列博文会告诉你如何从入门进阶,从servlet框架,从ssm再到SpringBoot,一步步地学习JavaWeb基础知识,并上手进行实战,接着了解JavaWeb项目中经常要使用的技术和组件,包括日志组件...jul-to-slf4j是把对jul的调用桥接到slf4j上,log4j-over-slf4j是把对log4j的调用桥接到slf4j。...这个时候一切看起来都很简单,很美好。接口和实现做了良好的分离,在统一的JCL之下,不改变任何代码,就可以通过配置就换用功能更强大,或者性能更好的日志库实现。 这种简单美好一直持续SLF4J出现。...可以看到甚至 Log4j 和 JUL 都可以桥接到SLF4J,再通过 SLF4J 适配到到 Logback!...Log4j2 现在有了更好的 SLF4J 和 Logback,慢慢取代JCL 和 Log4j ,事情这里总该大统一圆满结束了吧。

41420

Java日志体系整理,必看权威总结

log4j(作者Ceki Gülcü)出来时就等到了广泛的应用(注意这里是直接使用),是Java日志事实上的标准,并成为了Apache的项目 Apache要求把log4j并入JDK,SUN拒绝,并在jdk1.4...版本后增加了JUL(java.util.logging) 毕竟是JDK自带的,JUL也有很多人用。...这时如果有人想换成其他日志组件,如log4j换成JUL,因为api完全不同,就需要改动代码。...slf4j + jul slf4j-api.jar + slf4j-jdk14.jar 也可以只用slf4j无日志实现 slf4j-api.jar + slf4j-nop.jar SLF4J的适配 slf4j...使用jul-to-slf4j.jar适配 我在网上盗一张图,给大家一个整体的依赖图(懒得画了) 让Spring统一输出 这就是为了对slf4j的适配做一个例子说明。

38320

slf4j 原理及使用原则

适配器层(包括logback-classic也算适配器层)最多只能选1个包存在,否则slf4j的日志有可能输出到非预料位置 4. jul 桥接 slf4j 失败问题 上述 slf4j 使用原则中有一个问题...就无法实现用 jul-to-slf4j 实现对 jul 日志框架的桥接了。...这是 slf4j 使用中的一个常见的问题,你会发现虽然配置好了 slf4j 的依赖并且正常启动,但基于 jul 的日志仍然输出到了默认的位置,那么,如何来解决这个问题呢?...slf4j 的桥接组件 jul-to-slf4j 与其他桥接组件是完全不同的,它并没有实现它所桥接的 jul 的任何类,而是基于 jul 的框架机制,实现了一套日志输出 handler 来实现日志输出时调用...这在官方文档中有详细的介绍: http://www.slf4j.org/legacy.html 有两种方法可以实现对 jul 的桥接: 1.

83630

工作5年,竟然还没搞懂Java日志体系!

log4j(作者Ceki Gülcü)出来时就等到了广泛的应用(注意这里是直接使用),是Java日志事实上的标准,并成为了Apache的项目 Apache要求把log4j并入JDK,SUN拒绝,并在jdk1.4...版本后增加了JUL(java.util.logging) 毕竟是JDK自带的,JUL也有很多人用。...这时如果有人想换成其他日志组件,如log4j换成JUL,因为api完全不同,就需要改动代码。...upload successful 其实总的来说,无论就是以下几种情况 你在用JCL 使用jcl-over-slf4j.jar适配 你在用log4j 使用log4j-over-slf4j.jar适配 你在用JUL...使用jul-to-slf4j.jar适配 我在网上盗一张图,给大家一个整体的依赖图(懒得画了) upload successful 让Spring统一输出 这就是为了对slf4j的适配做一个例子说明

17620

Java日志体系权威总结!

log4j(作者Ceki Gülcü)出来时就等到了广泛的应用(注意这里是直接使用),是Java日志事实上的标准,并成为了Apache的项目 Apache要求把log4j并入JDK,SUN拒绝,并在jdk1.4...版本后增加了JUL(java.util.logging) 毕竟是JDK自带的,JUL也有很多人用。...这时如果有人想换成其他日志组件,如log4j换成JUL,因为api完全不同,就需要改动代码。...图来源于官方文档 其实总的来说,无论就是以下几种情况 你在用JCL 使用jcl-over-slf4j.jar适配 你在用log4j 使用log4j-over-slf4j.jar适配 你在用JUL 使用...jul-to-slf4j.jar适配 我在网上盗一张图,给大家一个整体的依赖图(懒得画了) 让Spring统一输出 这就是为了对slf4j的适配做一个例子说明。

20330

JAVA日志发展史

且日志粒度不够细 第二阶段 2001年,一个ceki Gulcü的大佬搞了一个日志框架 log4j后来( log4j成为Apache项目,Ceki加入Apache组织 Apache还曾经建议Sun引入Log4jJava...第三阶段 sun有自己的小心思,2002年2月JDK1.4发布,Sun推出了自己的日志标准库JUL(Java Util Logging),其实是照着Log4j抄的,而且还没抄好,还是在JDK1.5以后性能和可用性才有所提升...由于Log4j比JUL好用,并且成熟,所以Log4j在选择上占据了一定的优势。...,也就是日志抽象层,支持运行时动态加载日志组件的实现,当然也提供一个默认实现Simple Log(在 ClassLoader 中进行查找,如果能找到Log4j则默认使用llog4j实现,如果没有则使用JUL...但是JUL有三个缺点: 1.效率较低。 2.容易引发混乱。 3.使用了自定义ClassLoader的程序中,使用JCL会引发内存泄露。

66750

Java日志体系权威总结

log4j(作者Ceki Gülcü)出来时就等到了广泛的应用(注意这里是直接使用),是Java日志事实上的标准,并成为了Apache的项目 Apache要求把log4j并入JDK,SUN拒绝,并在jdk1.4...版本后增加了JUL(java.util.logging) 毕竟是JDK自带的,JUL也有很多人用。...这时如果有人想换成其他日志组件,如log4j换成JUL,因为api完全不同,就需要改动代码。...图来源于官方文档 image.png 其实总的来说,无论就是以下几种情况 你在用JCL 使用jcl-over-slf4j.jar适配 你在用log4j 使用log4j-over-slf4j.jar适配 你在用JUL...使用jul-to-slf4j.jar适配 我在网上盗一张图,给大家一个整体的依赖图(懒得画了) image.png 让Spring统一输出 这就是为了对slf4j的适配做一个例子说明。

42211

slf4j、log4j、log4j2、logback到底用哪些jar

后来发现这种方式真的有点low,从JDK1.4开始提供java.until.logging,后来大佬发现JUL太难用了,就自己手撸了个log4j,后来log4j发现安全漏洞,加上代码结构问题难以维护,于是从...; // java.until.logging,简称jul import java.util.logging.Logger; Logger logger_jul = Logger.getLogger(...假设一个项目在漫长的升级过程中,想从jul升级logback,还得需要修改代码。如果100个class中使用了jul,就得修改100个地方,这是多么一个繁琐的工作。...如slf4j官方图所示: 这就是slf4j和其他框架的组合,使用slf4j需要首先导入slf4j-api.jar,和log4j配合,你就要导入log4j.jar,以及他们之间的桥接包slf4j-log412...使用总结 "Class path contains multiple SLF4J bindings." 在使用slf4j的时候会遇到以上的报告信息。我也曾遇到过web服务因为slf4j问题启动失败。

25410
领券