31 | Logger组件:Tomcat的日志框架及实战
李号双
该思维导图由 AI 生成,仅供参考
每一个系统都有一些通用的模块,比如日志模块、异常处理模块、工具类等,对于 Tomcat 来说,比较重要的通用模块有日志、Session 管理和集群管理。从今天开始我会分三期来介绍通用模块,今天这一期先来讲日志模块。
日志模块作为一个通用的功能,在系统里通常会使用第三方的日志框架。Java 的日志框架有很多,比如:JUL(Java Util Logging)、Log4j、Logback、Log4j2、Tinylog 等。除此之外,还有 JCL(Apache Commons Logging)和 SLF4J 这样的“门面日志”。下面是 SLF4J 与日志框架 Logback、Log4j 的关系图:
我先来解释一下什么是“门面日志”。“门面日志”利用了设计模式中的门面模式思想,对外提供一套通用的日志记录的 API,而不提供具体的日志输出服务,如果要实现日志输出,需要集成其他的日志框架,比如 Log4j、Logback、Log4j2 等。
这种门面模式的好处在于,记录日志的 API 和日志输出的服务分离开,代码里面只需要关注记录日志的 API,通过 SLF4J 指定的接口记录日志;而日志输出通过引入 JAR 包的方式即可指定其他的日志框架。当我们需要改变系统的日志输出服务时,不用修改代码,只需要改变引入日志输出框架 JAR 包。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
Tomcat的日志框架及实战文章介绍了Tomcat的日志模块及其实现方式。文章首先介绍了Java的日志框架和门面日志的概念,以及Tomcat默认使用的JULI日志框架。接着详细解释了JULI的实现原理,包括DirectJDKLog、LogFactory、Handler和Formatter等组件。此外,文章还介绍了Tomcat如何与SLF4J和Logback集成,以及如何将Tomcat的日志框架切换成“SLF4J + Logback”。最后,文章提出了一个课后思考问题,引发读者思考和讨论。 总的来说,本文通过介绍日志框架的概念、Tomcat的日志模块实现和切换以及提出课后思考问题,为读者提供了全面的了解Tomcat日志框架的内容。读者可以从中了解到Tomcat默认的日志框架JULI的实现原理,以及如何将其切换成更流行的SLF4J和Logback,为读者提供了实用的技术知识。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入拆解 Tomcat & Jetty 》,新⼈⾸单¥68
《深入拆解 Tomcat & Jetty 》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(10)
- 最新
- 精选
- 新世界server.tomcat.access-log等参数配置输出方式,输出位置2019-07-229
- 吃饭饭查看这个文件就可以吧:spring-boot/1.5.9.RELEASE/spring-boot-1.5.9.RELEASE.jar!/org/springframework/boot/logging/logback/defaults.xml2019-07-227
- z.lspringboot可以配置切换tomcat默认的日志模块吗?2019-07-203
- 罗力友Java 的原生日志系统是每个 JVM 有一份日志的配置文件,这不符合 Tomcat 多应用的场景,所以 JULI 重新实现了一些日志接口。 ——老师,为什么说不符合呀。一个tomcat只能启一个jvm吗?2020-08-2611
- QQ怪默认应该是输出到控制台吧,配置目录可以输出到文件2019-07-201
- James打印在控制台。如果有配置logging.path logging.file就输出到文件上2021-04-03
- 赵达铭是不是springboot下.tomcat直接使用springboot指定的日志框架?不知道代码具体在哪体现2020-12-16
- Chuan老师,请问下Handler是定义不同的日志输出方式吗?比如FileHandler是用于规定输入到文件,ConsoleHandler用于规定输出到Console?如果配了这两个,是不是会在文件和控制台各输出一份啊?2020-03-051
- Demon.Lee老师,及各位小伙伴,你们是如何解决多个app的日志分离问题的,一个tomcat下部署了多个app,想让每个app的日志都打印到独立的app下面,有什么好的实践么,http://logback.qos.ch/manual/loggingSeparation.html2020-02-041
- Demon.Lee谢谢老师!2020-01-02
收起评论