第16章 程序日志工具-【千锋教育】Java Web开发实战
2023-03-21
|
28页
|
103人阅读
|
0人下载
教辅
内容正文:
第16章 程序日志工具
日志机制简介
Log4j基础
Log4j应用
日志机制模式
Log4j基础
16.2
16.1
☞点击查看本小节知识架构
Log4j应用
16.3
☞点击查看本小节知识架构
理解
理解
掌握
掌握
理解程序日志工具及其功能
1
掌握Log4j工具相关API的使用
4
2
理解Log4j工具的功能及相关jar包的下载
3
掌握Log4j工具配置文件的使用
学习目标
销售额 掌握知识 理解知识 熟悉知识 了解知识 2.5 2.5 2.5 2.5
16.1 日志机制简介
日志(Log)是指记录程序运行状态的信息。在程序运行的过程中,它可以记录代码中变量的变化情况,跟踪代码运行时的轨迹,向文件或控制台输出代码的调试信息等。总体来说,日志共有以下几种功能。
1)状态监控
通过分析日志,开发人员可以实时监控系统在一段时期内的运行状态,从而做到及时发现问题、及时解决问题。
2)问题追踪
日志可以帮助开发人员定位问题的根源,当程序发生异常时,开发人员可以通过日志查看第一手的信息,例如,用户当时做了哪些操作、环境有无异常、数据有什么变化、是否反复发生等,进而定位问题的根源并研究出对应的解决方案。
16.1 日志机制简介
3)安全审计
清晰详尽的日志信息对于保证系统的安全是十分必要的,通过分析日志,程序维护人员可以发现是否存在非授权的操作。在排查安全风险的过程中,日志既是程序维护人员寻找非安全因素的地图,也是定性非授权操作最直接的证据。
要在程序中集中输出日志,早期的做法是在代码中嵌入输出语句,例如,System.out.println()等,这种方式可以把日志信息输出到文件或控制台,但缺点也很明显,具体如下。
不能有效控制被输出信息的级别、输出地、格式化等,所有的运行信息都将被输出。
日志的可读性非常差,而且输出到控制台或文件需要消耗资源,大量的IO操作造成很大的资源消耗。
代码中充斥着大量的输出语句,复用性差,造成程序臃肿。
16.1 日志机制简介
为了避免以上状况,各种日志记录工具逐渐被引入到Java开发中,如JDK1.4以上版本中内置的 Logger、开源的第三方工具SimpleLog、开源的第三方工具Log4j等。
其中,JDK自带的 Logger不需要任何类库的支持,只要有Java运行环境即可使用。但是,与其他第三方日志工具相比,JDK Logger在功能、复用性、易用性上都略逊一筹,因此,JDK Logger的象征意义大于实际意义,在实际开发中很少使用。
在所有的日志工具中,目前使用最广泛的是Log4j工具,接下来,本书将对Log4j工具展开详细的介绍。
16.2 Log4j基础
16.2.1
Log4j简介
返回目录
16.2.2
Logger
16.2.3
Appender
16.2.4
Layout
16.2 Log4j基础
16.2.1 Log4j简介
Log4j是Apache的一个开源项目,它同时是一个日志操作工具包,能以更加简单、灵活的方式追踪程序的运行状况。
通过使用Log4j工具,开发人员可以控制每一条日志的输出格式、优先级,同时也可以控制日志信息的目的地(包括控制台、文件等),进而以更加细致的方式控制日志的生成过程。除此之外,当需要修改输出日志的优先级、目的地、格式时,只需修改Log4j工具提供的配置文件即可,而不必改动程序代码。
Log4j主要由Logger、Appender和Layout三大组件构成。
Logger:负责生成日志并对日志信息进行分类筛选,决定日志信息是否输出。
Appender:定义了日志信息输出的目的地,目的地可以是控制台、文件或网络设备。
Layout:指定日志信息的输出格式。
16.2 Log4j基础
16.2.1 Log4j简介
这三个组件协同工作,使开发人员能够依据日志信息的类别去记录信息,并能够在程序运行期间,控制日志信息的输出格式及日志存放地点。
一个Logger可以有多个Appender,这意味着日志信息可以输出到多个目的地,并且每个Appender对应一种Layout,可以有单独的输出格式。
16.2 Log4j基础
16.2.2 Logger
Logger是Log4j的核心组件,它代表了Log4j的日志记录器。Log4j将输出的日志信息定义五种级别,分别是DEBUG、INFO、WARN、ERROR、FATAL,具体如表所示。
Log4j的优先级由高到低依次是FATAL、ERROR、WARN、INFO、DEBUG,如果定义的级别较高,则较低级别的日志将不会输出。例如,把日志的级别设置为INFO级别,那么程序中所有INFO级别以上的日志信息将会被输出,而DEBUG级别的日志信息不会被输出。
16.2 Log4j基础
16.2.2 Log
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。