`
mwhgJava
  • 浏览: 97982 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Log4j笔记 第三章 Log4j结构

阅读更多
第一节 主要组件
Log4j有三个主要组件: loggers、appenders和layouts。这三个组件协同工作,使开发人员能够根据消息类型和级别来记录消息,并且在程序运行期控制消息的输出格式位置。
1、Logger:负责日志事件的创建和发送
Logger 负责定义消息级别,和将消息封装成事件并发送给Appender。
2、Appender:负责控制日志事件信息的记录
Appender 负责监听Logger发出的事件,将事件记录到特定的目的地。
3、Layout:日志格式化器
Layout 负责格式化事件,辅助Appender记录日志。

一个Logger需要有零个到多个Appender(Logger关闭后,就不需要Appender,否则至少需要一个Appender)。一个Appender需要一个Layout。

第二节 Logger
功能:发送不同级别的消息给Appender。
控制:
1、设置日志等级,低于该等级的消息将不会发送给Appender。
2、添加Appender。
3、设置是否继承祖先的Appender。

第三节 Appender
功能:记录日志。
控制:
1、设置Layout,控制日志的显示格式和内容。
2、设置Threshold等级,低于该等级的消息将不会被记录。
3、添加Filter 过滤器,未通过Filter的消息不会被记录。(Filter主要根据LoggerEvent,判断消息是否符合要求。)
(eg.只关注error等级?不关注fatal等级。只记录消息符合某某条件的日志等)
4、添加ErrorHander,ErrorHander还可以测试Appender,循环嵌套下去。

第四节 Layout
Logger生成消息LoggingEvent发送给Appender,Appender将消息LoggingEvent交给Layout处理为字符串,然后记录下来。

第五节 LoggingEvent
LoggineEvent包括很多内容,消息生成时的时间(timeStamp),线程名(threadName),地点(LocationInfo,包括类名,文件名,方法,行号),Logger的名称,消息等级,消息,消息Throwable等等。 更多内容请阅读LoggingEvent.java源文件。

第六节 Filter
DenyAllFilter, 否决所有,这样该Appener将不记录日志。
LevelMatchFilter,拒绝某个级别的日志,或只关注某个级别的日志。
LevelRangeFilter,拒绝某个范围级别的日志,或只关注某个范围级别的日志。
StringMatchFilter,拒绝Layout处理后的消息包含某个字符串的日志,或只关注这样的日志。
分享到:
评论

相关推荐

    Log4j笔记 第九章 封装Log4j

    《Log4j笔记 第九章 封装Log4j》 在Java开发中,日志记录是一项非常重要的任务,它帮助我们追踪程序运行时的状态,定位和解决错误。Log4j是Apache组织提供的一款强大的日志框架,因其高效、灵活和可配置性而广受...

    日志管理Log4j学习笔记

    - **第三方集成**:Log4j易于与J2EE、JINI甚至SNMP等应用程序集成,通过第三方扩展进一步增强其功能。 #### 二、Log4j的核心概念 - **Logger**:用于记录日志的对象,可以通过不同的Logger对象来记录不同部分的...

    log4j-为文章提供下载资源

    标题“log4j-为文章提供下载资源”暗示了这是一个与log4j相关的资源,可能是为了辅助阅读或学习关于log4j的文章,比如《JAVA学习笔记07——Hibernate框架第一章》。log4j是Java日志记录的一个著名库,广泛应用于各种...

    lo4j学习笔记

    Log4j 是一款广泛使用的日志记录框架,尤其在Java应用程序中...对于初学者而言,理解这些基本概念并实践简单的配置和代码示例,是掌握Log4j的第一步。随着经验的增长,你将能够更深入地利用Log4j来提升开发和维护效率。

    oracle体系结构、ocp笔记

    Oracle网络架构是Oracle体系结构的第三个组成部分,它是数据库和实例之间的桥梁。Oracle网络架构主要由两部分组成:Oracle Net和Listener。 * Oracle Net:是Oracle数据库的网络层,它提供了数据库和实例之间的通信...

    JavaScript笔记第一章—课程准备.pdf

    本章内容主要介绍了学习JavaScript之前的一些基础知识和准备工作,包括注释、JavaScript的引入方式、输入输出工具的使用、控制台的输出信息、JavaScript的执行顺序以及DOM操作等。 首先,注释在JavaScript代码中...

    Mina2.0学习笔记(重点)

    2. **日志框架SLF4J**:访问SLF4J官网下载`slf4j1.5.2.zip`,解压后获取`slf4j-api-1.5.2.jar`与`slf4j-log4j12-1.5.2.jar`。 3. **Log4j**:需添加Log4j的jar包。若使用`slf4j-log4j12-XXX.jar`,则需同时安装`log4...

    考研杭电计算机数据结构笔记最终版!-

    根据提供的信息,我们可以总结出关于考研杭电计算机数据结构笔记的一些关键知识点。由于提供的内容较为杂乱无章,这里将尝试整理出一个清晰的学习框架,并解释其中涉及的主要概念和技术。 ### 1. 数据结构基础 ###...

    OCP042课程笔记

    第三章讨论了如何使用Dbca(Database Configuration Assistant)创建数据库,包括创建数据库模板和自定义脚本。笔记列举了不同类型数据库,如数据仓库(OLAP)、事务处理数据库(OLTP)和通用数据库。 第四章聚焦于Oracle...

    基于java的实现的EverBox库 Everbox4j.zip

    3. everbox4j.sh:这是一个Unix/Linux shell脚本,与everbox4j.bat类似,用于在Unix或Linux环境下启动Everbox4j库。确保系统已经安装Java环境,然后在终端中运行这个脚本。 4. ChangeLog.txt:这是一个变更日志文件...

    ObjectARX学习笔记-附代码.zip_ObjectARX_log

    3. **创建第一个ObjectARX应用**:笔记可能包含创建一个简单的ObjectARX应用的步骤,包括编写入口函数、定义数据库对象、注册命令等。这个过程会涉及到`acedRegApp`函数的使用,以及如何编写响应AutoCAD命令的函数。...

    自考数据结构 笔记 测试好用

    "自考数据结构 笔记 测试好用" 数据结构是一门重要的计算机科学基础学科,它研究计算机存储和处理数据的方式和方法。数据结构的内容包括数据、数据元素、数据结构、数据类型、抽象数据类型等概念。 数据是信息的...

    数据结构笔记和课后答案

    ### 数据结构基础知识与学习方法 #### 一、基本问题问答 **1、什么叫数据结构?如何理解“数据结构”?如何树立数据结构的学习体系?** - **数据结构定义:** - 数据结构是指相互之间存在一种或多种特定关系的...

    苏州大学计算机考研数据结构笔记答案

    【苏州大学计算机考研数据结构笔记答案】主要涵盖了数据结构中的核心概念和算法,包括时间复杂度、队列操作、矩阵存储、二叉树特性和哈夫曼编码。 1. 时间复杂度: - 描述了算法执行效率,题目中提到了O(log2^n)和...

    Android开发笔记之:Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)

    3. **Log.i()** - 代表INFO级别,显示绿色信息,常用于一般性的状态提示或者程序运行过程中的关键步骤。它不会输出VERBOSE和DEBUG级别的信息,但会显示INFO级别及以上(WARN, ERROR)的信息。 4. **Log.w()** - ...

    hibernate学习笔记.

    使用slf4j-log4j12.jar作为适配器将Slf4j与Log4j连接。 5. **ID生成策略** - **对于MySQL的自增主键**,在User.hbm.xml中使用`<generator class="native"/>`,或者在Annotation配置中,若字段为自动递增整型,无需...

    算法导论系列读书笔记之三

    作为“算法导论系列读书笔记之三”,本文将主要探讨第三章的内容,这一章通常聚焦于排序与选择算法,这些是数据处理的基础,对理解和优化程序性能至关重要。 在第一章和第二章中,我们可能已经接触到了基本的数据...

Global site tag (gtag.js) - Google Analytics