`
liyixing1
  • 浏览: 943917 次
  • 性别: Icon_minigender_1
  • 来自: 江西上饶
社区版块
存档分类
最新评论

log4j的执行流程

阅读更多
当调用了记录日志的方法后,比如调用log()方法
1.检测threshold的设置
每一个logger都有一个对repository对象的引用,这个对象是唯一的,每个logger都指向了同一个repository。如果该属性设置的级别比调用的级别高,那么就会终止它的执行。
2.对logger的等级过滤
调用的记录日志的方法都有自己对应的级别,logger设置的级别和调用的级别进行比较,如果调用的级别低于设置的级别,那就会终止它的执行
3.创建一个LoggingEvent对象
里面包括了调用的级别等信息
4.调用的appender
log4j调用对应设置的appender,记录到指定的设备上面去。调用doAppend()方法。另外还有一个AppenderSkeleton抽象类,它实现了org.apache.log4j.Appender接口的doAppend方法。它保证了线程安全。AppenderSkeleton的doAppend方法只是调用filters。
5.格式化LoggingEvent
大多数情况下(并非全部),appender会调用代理去调用布局,这些布局会格式化LoggingEvent
6.输出消息。然后会回到第四步。
分享到:
评论

相关推荐

    log4Net详解(共2讲)

    4、项目实战篇: Extjs3.2+ASP.NET七层架构+设计模式+ log4j+WebSerice等技术国讯教育通用智能OA办公平台 适用对象 1、要求有一定的javascript语言和HTML,CSS基础的学员 2、有一定的Asp.net网页编程基础和C#语言...

    Java进阶课程日志框架视频教程

    --10-JUL执行原理和流程.mp4 --11-Log4j的快速入门.mp4 --12-Log4j的组件和配置文件介绍.mp4 --13-Log4j的内置日志记录.mp4 --14-Log4j的layout配置.mp4 --15-Log4j的FileAppender配置.mp4 --16-Log4j的JDBCAppender...

    SpringDynamicMessageProcessor:MavenSpring-BootSpring-Integration项目,用于执行动态确定的处理阶段路径

    Spring动态消息处理器 Maven / Spring-Boot / Spring-Integration服务,用于执行动态确定的处理阶段路径。 此图描述了通过核心路由器/变压器进行控制的流程,该流程... src / main / resources / log4j.xml和src / t

    基于jbpm与activiti的工作流平台技术架构介绍

    14.Other: Log4j,Velocity,Sitemesh,Jfreechart,Jforum,Solr 15.Maven 2 3.BPMX3的组件构建方式 BPMX3同时也是基于组件构构建,整个系统的构建如下所示: 【图三】BPMX3组件构建 系统提供在线流程设计器,...

    ziwicerk:所做的更改

    Log4j实用程序–用于记录 使用的框架: 页面对象模式(POP) 数据驱动模型 模块化驱动模型 自定义异常处理模型 解决方案: 1)创建页面对象 a)在pageObjects包下创建Walmart_java页面对象类 b)在此类中,标识了...

    javascript入门笔记

    适用场合:任何小数与0 做 按位或的操作,可以快速转换为整数(并非四舍五入) 5 | 0 101 000 ==== 101 3、按位 异或 :^ 语法:a ^ b 特点:将 a 和 b 先转换为二进制,按位操作,对应位置上的两个数字,...

    比阿比

    介绍: API自动化分配(Java,TestNg,Maven,Resassured,Log4j,CircleCI)用法: -无需额外的工作,只需导入为现有的Maven项目即可。 库将自动下载。 -转到UserTests.java,然后单击“全部运行”或右键单击“以...

    CVE-2021-44228复现工具及流程文档.zip

    需要本地java环境,演示采用的IDEA,压缩包内提供了marshalsec-0.0.3-SNAPSHOT-all.jar

    flink入门到精通视频教程

    02.入门案例-构建工程、log4j.properties 03.入门案例-代码运行yarn模式运行 04.DataSource-基于集合 05.DataSource-基于文件 06.Transformation开发 07.Datasink-基于集合 08.Datasink-基于文件 09.执行模式-本地...

    微软活动目录管理管理简明手册

    R5 I* ~: k6 g1 B$ @4 Z- j' B ( y: ] o$ r9 C( \/ x5 b @: a站点(Site)是由一个或多个IP子网中的一组计算机,确保目录信息的有效交换,站点中的计算机需要很好地连接,尤其是子网内的计算机。站点和域名称空间...

    CucumberJunitFrameWork

    该框架是使用Maven,Cucumber,Java,Junit,Selenium,extent Report,CucumberReport和Log4J开发的。 框架分为不同的包层,每个包都有其职责。 功能层-在此程序包中,用GHERKIN语言编写的测试用例,登录功能和...

    MySQL 5.1参考手册

    8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysql...

    LuckyFrameWeb测试平台-其他

    8、日志定位:客户端LOG4J+数据库记录测试过程日志,2种方式都可以通过Web端实时查看定位问题。9、接口+Web UI+移动端UI多纬度自动化:支持接口+Web UI+移动端UI自动化,Web UI自动化采用WebDriver3.0封装,移动端UI...

    ssh(structs,spring,hibernate)框架中的上传下载

     首先,必须定义一个能够从连接池中抽取出本地数据库JDBC对象(如OracleConnection,OracleResultSet等)的抽取器:nativeJdbcExtractor,这样才可以执行一些特定数据库的操作。对于那些仅封装了Connection而未包括...

    Luban_API_Test:基于RestAssured等整合的一套API自动化测试框架

    帮助文档地址: git地址: 优点 case分级(blocker,critical,normal,minor,trivial) ...Log打印:slf4j logback 持久层框架:Mybatis 、Mapper 测试报告:allure2 CI:jenkins 工程 整体流程 Jenkins参

    Spring in Action(第2版)中文版

    a.4spring与log4j 附录b用(和不用)spring进行测试 b.1测试简介 b.1.1理解不同类型的测试 b.1.2使用junit b.1.3spring在测试中的角色 b.2单元测试springmvc控制器 b.2.1模拟对象 b.2.2断言modelandview的内容...

    Spring in Action(第二版 中文高清版).part2

    A.4 Spring与Log4j 附录B 用(和不用)Spring进行测试 B.1 测试简介 B.1.1 理解不同类型的测试 B.1.2 使用JUnit B.1.3 Spring在测试中的角色 B.2 单元测试Spring MVC控制器 B.2.1 模拟对象 B.2.2 断言...

    Spring in Action(第二版 中文高清版).part1

    A.4 Spring与Log4j 附录B 用(和不用)Spring进行测试 B.1 测试简介 B.1.1 理解不同类型的测试 B.1.2 使用JUnit B.1.3 Spring在测试中的角色 B.2 单元测试Spring MVC控制器 B.2.1 模拟对象 B.2.2 断言...

    dangdang和smartstruts2.rar

    log4j:日志工具,用于输出日志信息.主要在业务层和数据访问层使用 junit:单体测试工具,用于测试业务或者数据访问方法 -----------项目开发流程------------ UML模型图:IBM Rose,Microsoft Visio E-R模型图:...

    二叉排序树与平衡二叉树的实现

    (4)输入元素x,查找二叉排序树T,若存在含x的结点,则删该结点,并作中序遍历(执行操作2);否则输出信息“无x”; (5)用数列L,生成平衡的二叉排序树BT:当插入新元素之后,发现当前的二叉排序树BT不是平衡的二叉排序树...

Global site tag (gtag.js) - Google Analytics