LogBack的基本知识和优势ppt课件_第1页
LogBack的基本知识和优势ppt课件_第2页
LogBack的基本知识和优势ppt课件_第3页
LogBack的基本知识和优势ppt课件_第4页
LogBack的基本知识和优势ppt课件_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1How to use logback北航act实验室Copyright QOS.ch2 nThe same basic plumbing only done better. nNo revolution, only evolution.nFaster, smaller, higher gas mileage, and generally more bang for the buck.nLogback的根本构造充分通用,可运用于各种不同环境。目前,logback分为三个模块:Core、Classic和Access。 nCore模块是其他两个模块的根底。Classic模块扩展了c

2、ore模块。Classic模块相当于log4j的显著改良版。Logback-classic直接实现了SLF4J API,因此他可以在logback与其他记录系统如log4j和java.util.logging (JUL)之间轻松相互切换。Access模块与Servlet容器集成,提供HTTP访问记录功能3Copyright QOS.ch4Modular architecturenlogback-corenJoran, Status,n Context, pattern parsingnlogback-classicndeveloper loggingnlogback-acces

3、sncontainer (access) loggingCopyright QOS.ch5Access LoggingnDefinition: Access lognThe log generated when a user accesses a web-page on a web server.nLogback-access integrates seamlessly with Jetty and Tomcatn Copyright QOS.ch6SLF4J in one slideCopyright QOS.ch7Logback 的三个重要组件nLogger、Appender和Layout

4、 nLogback建立于三个主要类之上:Logger、Appender和Layout。这三种组件协同任务,使开发者可以按照音讯类型和级别来记录音讯,还可以在程序运转期内控制音讯的输出格式和输出目的地。 nLogger类是logback-classic模块的一部分,而Appender和Layout接口来自logback-core。作为一个多用途模块,logback-core不包含任何logger。 Appender接口里的多数方法都是getter和setting。值得留意的是doAppend()方法,它独一的参数是类型E的对象。类型E的实践类型视logback模块的不同而不同。 在logback

5、-classic模块里,E能够是“ILoggingEvent类型;在logback-access模块里,E能够是“AccessEvent类型。 Layout担任把事件转换成字符串。Layout接口的format()方法的参数是代表任何类型的事件,前往字符串。Logback-classic只处置ch.qos.logback.classic.spi.ILoggingEvent类型的事件。 Logback-access的大多数layout都改动自logback-classic。Logback-access和logback-classic有各自的用途,但普通提供类似的功能。 Copyright QOS

6、.ch8Copyright QOS.ch9Logback的任务原理n1. 获得过滤链filter chain的断定结果 n假设TurboFilter链存在,它将被调用。Turbo filters可以设置一个上下文范围内的临界值,这个临界值或者表示过滤某些与信息有关比如Marker、级别、Logger、音讯的特定事件,或者表示与每个记录恳求相关联的Throwable。假设过滤链的结果是FilterReply.DENY,那么记录恳求被丢弃。假设结果是FilterReply.NEUTRAL,那么继续下一步,也就是第二步。假设结果是FilterReply.ACCEPT,那么忽略过第二步,进入第三步。

7、n2. 运用根本选择规那么 nLogback对logger的有效级别与恳求的级别进展比较。假设比较的结果是记录恳求被禁用,logback会直接丢弃恳求,不做任何进一步处置。否那么,继续下一步。 n3. 创建LoggingEvent对象 n记录恳求到了这一步后,logback会创建一个ch.qos.logback.classic.LoggingEvent对象,该对象包含一切与恳求相关的参数,比如恳求用的logger、恳求级别、音讯、恳求携带的异常、当前时间、当前线程、执行记录恳求的类的各种数据,还有MDC。留意有些成员是延迟初始化的,只需当它们真正被运用时才会被初始化。MDC用来为记录恳求添加额

8、外的上下文信息。Copyright QOS.ch104. 调用appender 创建了LoggingEvent对象后,logback将调用一切可用appender的doAppend()方法,这就是说,appender承继logger的上下文。 一切appender都承继AppenderBase笼统类,AppenderBase在一个同步块里实现了doAppend方以确保线程平安。AppenderBase的doAppender()方法也调用appender关联的自定义过滤器,假设它们存在的话。自定义过滤器能被动态地关联到任何appender,另有章节专门讲述它。5. 格式化输出 那些被调用了的ap

9、pender担任对记录事件LoggingEvent进展格式化。然而,有些但不是全部appender把格式化记录事件的任务委托给layout。Layout对LoggingEvent实例进展格式化,然后把结果以字符串的方式前往。留意有些appender,比如SocketAppender,把记录事件进展序列化而不是转换成字符串,所以它们不需求也没有layout。6. 发送记录事件LoggingEvent 记录事件被格式化后,被各个appender发送到各自的目的地。 Copyright QOS.ch11整个logback流程的UML图Copyright QOS.ch12Copyright QOS.c

10、h13Joran: a bowl of fresh airnGiven rules (patterns & actions) it can configure any object.nIts generic (can be used in your own projects)nJoran can learn new rules on the fly.nWith its implicit rules, you dont even have to write rules. nIt can do partial replay. Logback依赖Joran。Joran是个成熟、灵敏和强大的配

11、置框架。Logback模块的许多才干都只能在Joran协助下实现。Logback的默许配置机制是调用JoranConfigurator对classpath上的默许配置文件进展处置。不论出于什么理由,假设他想重新实现logback的默许配置机制的话,他可以直接调用JoranConfigurator。Copyright QOS.ch14Copyright QOS.ch15Logback的一些扩展功能SocketAppender: 到目前为止,我们讨论的到目前为止,我们讨论的appender都只能输出到本地资源。而都只能输出到本地资源。而SocketAppender被设计为经过序列化被设计为经过序列

12、化ILoggingEvent实例把记录输出到远程实体。实例把记录输出到远程实体。JMSAppenderBase: JMSAppenderBase类与类与SocketAppender完成一样概念的义务,只是基于完成一样概念的义务,只是基于JMS API而不是而不是TCP套接字。套接字。JMS即即Java音讯系统音讯系统API为面向音讯的中间件为面向音讯的中间件MOM产品产品提供笼统层。提供笼统层。JMS的一个关键架构概念就是解耦音讯消费者和音讯消费者。发送者不的一个关键架构概念就是解耦音讯消费者和音讯消费者。发送者不需求等待接纳者处置完音讯,有音讯时接纳者才会消费音讯。这样的音讯称为是异步需求等

13、待接纳者处置完音讯,有音讯时接纳者才会消费音讯。这样的音讯称为是异步传送的传送的SMTPAppender: SMTPAppender在固定大小的缓冲里积累记录时间,当用户指定的事件发生后,在固定大小的缓冲里积累记录时间,当用户指定的事件发生后,就经过就经过email发出这些事件。默许情况下,发出这些事件。默许情况下,email发送是由级别为发送是由级别为ERROR或更高级别的或更高级别的记录事件触发的。记录事件触发的。DBAppender: DBAppender把记录事件写入数据库的三张表。把记录事件写入数据库的三张表。 三张表分别是三张表分别是logging_event、logging_ev

14、ent_property和和logging_event_exception。在运用。在运用DBAppender之前,这三张表必需曾经被创建。之前,这三张表必需曾经被创建。 PatternLayout的配置方式与在logback-classic里的PatternLayout根本一样。但它提供了一些额外的格式转换符,适宜记录那些只存在于HTTP servlet恳求和HTTP servlet呼应的信息。 映射诊断环境Mapped Diagnostic Context)Logback的设计目的之一是审查和调试复杂的分布式运用程序。真实世界的多数分布式系统需求同时处置多个客户端。在一个典型的多线程方式实现的分布式系统里,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论