`

Java日志系统相关包的梳理

 
阅读更多

1.常见的日志框架

 

日志框架 介绍
jul(java.util.logging) jdk1.4加入,为了对抗log4j,效率灵活性较差使用较少
log4j 最广泛应用的日志框架,成为事实上的标准
logback 基于slf4j-api接口实现,性能高于log4j
log4j2 重写了log4j,性能高于log4j,logback
注:log4j、logback、log4j2是同一个作者Ceki Gülcü
 
 上面介绍了四种日志框架,到底用哪个日志框架,现在广泛应用的还是log4j,如果负载较高可以考虑使用logback和log4j2.
但是如果两个系统相互依赖,用的不同的日志框架,难道需要依赖两个日志框架么?
Apache和log4j的作者提供两种选择,JCL(commings-log)和SLF4J(simple log facade for java)两个日志框架的门面。提供了统一的日志抽象接口,适配和转接了各种日志框架,使用者只用调用抽象层统一的接口就行了。应用层不直接依赖实际的日志实现。

2.日志门面JCL和SLF4J

 

日志门面 介绍
JCL(commings-log) Apache提供的comming-log
SLF4J(simple log facade for java) Log4j、Logback、Log4j2作者提供
 
 

3.日志体系各种包总结

 
日志框架
log4j 只有log4j
log4j2
log4j-api(日志接口)
log4j-core(log4j-api的实现)
logback
logback-core(logback核心包)
logback-classic(slf4j-api的实现)
commons-logging
commons-logging (jcl)
log4j-jcl(commons-logging到log4j的桥梁)
jcl-over-slf4j(commons-logging到slf4j的桥梁)
slf4j
slf4j转向某个实际日志框架:
slf4j-jdk14:slf4j到jdk-logging的桥梁
slf4j-log4j12:slf4j到log4j1的桥梁
log4j-slf4j-impl:slf4j到log4j2的桥梁
logback-classic:slf4j到logback的桥梁
slf4j-jcl:slf4j到commons-logging的桥梁
某个实际日志框架转向slf4j:
jul-to-slf4j:jdk-logging到slf4j的桥梁
log4j-over-slf4j:log4j1到slf4j的桥梁
jcl-over-slf4j:commons-logging到slf4j的桥梁

4.集成实践

 

4.1 jcl与日志框架的集成

 

集成的框架 需要的包
jul
commons-logging
jul
log4j
commons-logging
log4j1
log4j2
commons-logging
log4j-api (log4j2的API包)
log4j-core (log4j2的API实现包)
log4j-jcl (log4j2与commons-logging的集成包)
logback
jcl-over-slf4j (替代了commons-logging)
slf4j-api
logback-core
logback-classic
logback本身的使用其实就和slf4j绑定了起来,现在要想指定commons-logging的底层log实现是logback,则需要2步走
 
 

4.2 slf4j与日志框架的继承

 
集成的框架 需要的包
jul
slf4j-api
slf4j-jdk14
log4j
slf4j-api
slf4j-log4j12
log4j
log4j2
slf4j-api
log4j-api
log4j-core
log4j-slf4j-impl (用于log4j2与slf4j集成)
logback
slf4j-api
logback-core
logback-classic(已含有对slf4j的集成包)
2
0
分享到:
评论

相关推荐

    Java日志系统相关工具梳理

    本文将对Java日志系统相关的工具进行详细梳理,包括主要的实现工具、绑定工具以及转换桥接器。 首先,我们来看Java内置的日志系统——`java.util.logging`(简称`jul`)。这是Java标准库提供的日志框架,它提供基本...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    关于java程序员发展需要学习的路线整理集合 技术 应用技术 计算机基础知识 cpu mem disk net 线程,进程 第三方库 poi Jsoup zxing Gson 数据结构 树 栈 链表 队列 图 操作系统 linux 代码控制...

    java.日志与监控(解决方案).md

    Java日志与监控实现方法知识点梳理: 1. Java日志实现方法: - 使用第三方日志库Log4j:通过在项目中添加Log4j依赖并配置Log4j来实现日志记录,根据配置文件中的定义,日志级别、格式和输出位置等可以灵活调整。 ...

    基于Java+SpringBoot+Vue员工日志管理信息系统答辩PPT.pptx

    员工日志管理信息系统是企事业单位进行科学化管理的重要工具,有助于各级管理者掌握工作进度与状况,并为员工提供梳理工作思路的手段。然而,传统的工作日志管理面临诸如管理者重视不足、员工抵触、传统记录方式局限...

    基于JAVA的文件加密传输系统的设计与实现.pdf

    《基于JAVA的文件加密传输系统的设计与实现》一文通过详细的技术分析和需求梳理,展示了一个实用性强且安全可靠的文件传输系统设计方案。该系统不仅满足了用户对于文件加密传输的基本需求,还加入了即时消息交流功能...

    javaOA系统源码 java项目

    13、工作周报:各部门负责人可每周对部门工作进行汇报,填写相关信息,以便及时梳理工作,反馈问题,及时解决。同时,系统会存储历史记录。 14、通讯录:用户可填写同事好友的通讯方式,拥有自己的通讯录。可方便...

    Java产品管理系统

    **Java产品管理系统** Java产品管理系统是一款基于Java技术开发的实用型软件系统,旨在为企业或组织提供全面的产品管理解决方案。这个项目不仅提供了完整的源代码,还包含详细的项目文档,非常适合程序员学习和参考...

    基于Java语言的供应链一体化系统设计源码

    系统还包含了工厂类、YAML配置文件、虚拟机配置、测试代码、JAR包、Markdown文档、属性配置文件以及编辑器配置等,这些都是为了保证系统的高效运行和开发的便捷性。 供应链一体化系统的开发和实施,涉及到多种技术...

    基于Java的动物园管理系统设计源码重构方案

    .gitignore文件的配置对版本控制系统的有效管理起到了关键作用,它指导Git工具忽略掉那些不需要纳入版本控制的文件和目录,比如编译生成的中间文件、系统日志等,从而保持版本库的清洁和整洁。IML项目文件则定义了...

    Java后端学习路线梳理(csdn)————程序.pdf

    搜索引擎如ElasticSearch和Solr,以及分布式和微服务相关技术(服务发现/注册、网关、服务调用、熔断/降级、配置中心、认证鉴权、分布式事务、任务调度、链路追踪和监控、日志分析和监控)也是必备技能。 最后,...

    ssm公司员工工作日志办公系统+vue.zip

    首先,文件标题“ssm公司员工工作日志办公系统+vue.zip”表明该压缩包中包含的是一个以Vue框架开发的公司员工工作日志办公系统。SSM是指Spring、SpringMVC和MyBatis这三个Java技术栈的缩写,它们是后端Java开发中...

    学生信息管理系统【项目完整源码】(项目源码+数据库mysql源码)基于java+jsp+servlet开发

    学生信息管理系统(项目源码+数据库mysql源码)java+jsp+servlet开发 简单的学生信息管理系统,里面包含登录注册、主页展示总量,分管理员和普通用户两个角色,不同的角色具有不同的权限。能够实现对数据库的增删改...

    Java架构设计.pdf

    根据提供的文件内容片段,可以梳理出以下Java架构设计相关的知识点: 1. Java基础知识与Web技术 - Java是开发各种应用程序的基础,包括但不限于桌面应用、企业级应用、移动应用等。 - AJAX(Asynchronous ...

    ASP个人日志系统的设计与实现(源代码+论文)_new.rar

    - 论文:涵盖了整个Java ASP Web系统的基础知识,设计意图、需求概述、系统结构与设计哲学、相关技术的深入探索等。学生可以从论文中理解项目的全局构想和关键设计决策。 - 设计文档:详细梳理了系统的构建过程,...

    springboot002-Java财会信息管理系统的分析.zip

    在财会信息管理系统中,安全性设计需要考虑数据加密、用户权限控制、操作日志记录等方面,以防止数据泄露、非法访问和操作错误等问题的发生。 本文件内容涵盖了一个基于Spring Boot开发的Java财会信息管理系统从...

    毕设-java-基于Javamail的邮件收发系统(系统+lw+开题报告+任务书+外文翻译+文献综述+答辩PPT)2.zip

    接着,从文件描述中可以看出,该项目是一个完整的毕业设计工作包,它包括了系统实现本身以及与之相关的文档资料。这意味着项目不仅停留在理论和设计层面,而且已经通过编码实现了一个可操作的系统。文档资料的齐全性...

    梳理的一些java开发中用上的框架和开发工具,肯定会遗漏,欢迎补充

    ### 项目基础设施 #### WEB 容器 - **Tomcat**: 框架。Tomcat 是一个免费开源的Servlet容器,被广泛应用于中小型系统和开发环境中。...Hutool 是一个Java工具包,旨在简化Java开发人员的日常工作。

    基于springboot的玩具租赁系统源码(java毕业设计完整源码).zip

    此外,还需要考虑系统的安全性,如用户信息的加密存储、操作日志的记录等。 7. 可运行性验证:项目经过测试,可正常运行,这意味着系统已经通过了基本的功能测试,具备了稳定的运行能力,这对于使用该项目进行学习...

    eova-Java资源

    首先,文件标题“eova-Java资源”表明这是一个与Java编程语言相关的资源集合。Java是一种广泛使用的面向对象的高级编程语言,它被设计为具有尽可能少的实现依赖性,是跨平台的应用程序和系统的开发基础。 在描述中...

    java 通过jni技术实现获取linux的硬盘序列号.pdf

    在这段代码中,使用Linux下的相关库函数来访问硬盘设备(如`/dev/sda`),调用系统调用`ioctl()`来获取硬盘序列号。 - 这段C代码应包含对错误处理的考虑,例如在打开设备文件失败或无法获取序列号时应返回相应的...

Global site tag (gtag.js) - Google Analytics