1.第一章 日志简介
1.1日志概述
只要程序员投身在实际的学习和生产环境中,就会对日志的重要性有着充分的认知,尤其在对于Web以及更高级的应用。在很多情况下,日志可能是我们了解应用如何执行的唯一方式。
但是现实是很多程序员对于日志的记录的认知比较肤浅,认为日志的记录输出是一件很简单而且会自动发生的事情,所以会经常忽略和日志相关的问题。
所以本文档主要就是针对日志概念以及日志的框架不太熟悉的这类开发人群,更加详细且真实的体会日志为我们在开发和生产环境当中所带来的好处。
Java语言的强大之处就是因为它强大而且成熟的生态体系,其中包括日志框架,就有很多成熟的开源资源可以直接使用。
1.2日志文件
日志文件是用于记录系统操作事件的文件集合。
日志文件它具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要的作用。
1.2.1调试日志
在软件开发中,我们要去经常的调试程序,或者做一些状态的输出,便于我们查询程序的运行状况。为了我们能够更加灵活且方便的控制这些调试信息,我们肯定是需要更加专业的日志技术。我们平时在调试程序的过程中所使用的肯定就是专业开发工具自带的debug功能,可以实时查看程序运行情况,不能够有效保存运行情况的信息,调试日志是能够更加方便的去“重现”这些问题。
1.2.2系统日志
系统日志是用来记录系统中硬件、软件和系统相关问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找收到攻击时留下的痕迹。
系统日志包括系统日志、应用日志和安全日志这几种分类。
1.3日志框架
1.3.1日志框架的作用
1.控制日志输出的内容和格式
2.控制日志输出的位置
3.日志文件相关的优化,如异步操作、归档、压缩...
4.日志系统的维护
5.面向接口开发 - 日志的门面
1.3.2日志框架的价值
因为软件系统发展到今天非常的复杂,特别是服务器的软件,设计到的知识和内容问题非常的多。对于日志记录来讲,在某些方面使用别人研发好的成熟的框架,这就相当于让别人帮你完成一些基础的工作。你只需要集中精力去完成业务逻辑就可以了。
比如事务处理,日志记录等一些安全性的问题,我们使用框架去做,不会影响业务的开发效率。
同时框架也是在不断升级的,我们可以不断的享受框架为我们带来的好处。
1.3.3市面流行的日志框架
日志实现:
(1) JUL( java util logging ):Java原生日志框架
(2)Log4j:Apache的一个开源项目
(3)Logback:由Log4j之父做的另一个开源项目(业界中称作Log4j 后浪),一个可靠、通用且灵活的java日志框架
(4)Log4j2:Log4j官方的第二个版本,各个方面都是与Logback及其相似,具有插件式结构、配置文件优化等特征,Spring Boot 1.4版本以后就不再支持Log4j,所以第二个版本应运而生
日志门面:
JCL(Jakarta Commons Logging):Apache提供的一个通用日志API
SLF4j:一个简单的日志门面技术,是提供给Java的一套日志规范API
1.3.4日志门面和日志实现的区别
日志框架技术JUL、Logback、Log4j、 Log4j2
用来方便有效的记录日志信息
日志门面技术JCL、SLF4j
为什么要使用日志门面技术:
每一种日志框架都有自己单独的API,要使用对应的框架就要使用对应的API,这就大大增加了应用程序代码对于日志框架的耦合性。
我们使用了日志门面技术之后,对于应用程序来说,无论底层的日志框架如何改变,应用程序不需要修改任意一行代码,就可以直接上线了。
后面几章将依据个人学习,依次讲解以上日志框架的相关内容,以供个人备忘及大家参考。
题目 | |
第二章:JUL | Java日志框架(第二章)_至尊充电宝的博客-CSDN博客 |
第三章:Log4j | Java日志框架(第三章)_至尊充电宝的博客-CSDN博客 |
第四章:JCL | Java日志框架(第四章)_至尊充电宝的博客-CSDN博客 |
第五章:Slf4j | Java日志框架(第五章)_至尊充电宝的博客-CSDN博客 |
第六章:Logback | Java日志框架(第六章)_至尊充电宝的博客-CSDN博客 |
第七章:Log4j2 | Java日志框架(第七章)_至尊充电宝的博客-CSDN博客 |