JUL学习笔记
日志的概念:
-
日志文件:
日志文件是用来记录系统操作时间的文件集合,可分为时间日志和消息日志,具有处理历史数据,诊断问题的追踪以及理解系统的活动等重要作用
-
在计算机中,日志文件是记录在操作系统或者其他的软件运行中发生的时间或在通信软件的不同用户之间的消息文件。记录是保持日志的行为。在最简单的情况下,消息被写入单个日志文件。
-
许多操作系统,软件框架的程序包括日志系统。广泛的使用日志记录标准是在因特网工程任务组定义的syslog syslog标准化子系统能够自动生成,过滤,记录和分析日志消息
调试日志:
软件开发中,我们通常需要去调试程序,做一些信息,状态的输出便于我们查询程序的运行状况。为了让我们能够更加灵活和方便地控制这些调试的信息,所以我们需要专业的日志技术。Java中寻找bug会需要重视。调试也就是debug可以在程序运行中暂停程序运行,可以查看程序在运行中的情况。日志主要是为了更方便地去重现问题。
系统日志:
系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因。或者寻找受到攻击的攻击者留下的痕迹。系统日志包括系统日志、应用系统日志和安全日志。
Log4j学习笔记
log4j的三大组件
- **Logger:**日志记录器,负责收集和处理日志记录(如何处理日志)
- **Appendeer:**日志的出处目的地,负责日志的输出(输出到什么地方)
- **Layout:**日志格式化,负责对出处的日志格式化(以什么形式展现)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-snrT9T9W-1639488131834)(C:\Users\lenno\AppData\Roaming\Typora\typora-user-images\image-20211214203914541.png)]
一个logger可以对应多个appender,一个appender只能对应一个layout
Logger
- logger可以有选择的启动和禁用日志的输出,我们经常会在各种框架中看到
- logger就代表了一个logger实例。
- log4j中有一个特殊的logger叫做root,他是所有logger的根,也就意味着他和所有的logger都会直接或者间接的集成自root,rootlogger都会直接或者间接的继承root。rootlogger 可以用logger.getRootLogger()方法获取,但是不能通过Logger。getLogger(”root“)获得。
level
- logger.debug(message);log4J:log三大组件:
- logger.info(message);
- logger.warn(message);
- logger.warn(message);
- logger.error(message);
- logger.fatal(message);
Appender
**描述:**Appender可以控制日志的输出目的地,一个输出源就叫一个Appender,appender的类别有Console(控制台)File(文件) JDBC JMS等等
- Logger.adderAppender(appender);配置多个appender,对logger来说,每个有效的日志请求结果都将输出到logger本身以及父logger的appender上
Layout
使用指定的Layout来进行展示,常见的有HTML PatternLayout(可以灵活的指定布局模式) simpleLayout(包含日志的级别和 信息字符串) TTCCLayOut(包含日志产生的时间,线程,类别的等等信息)
ayout(包含日志的级别和 信息字符串) TTCCLayOut(包含日志产生的时间,线程,类别的等等信息)