细讲lo4j的组成

< 细讲lo4j的组成>

1.lo4j的组成

Log4j中有三个主要的组件,它们分别是:Logger、Appender、Layout
日志记录器(Logger):Log4j 允许开发人员定义多个Logger,每个Logger拥有自己的名字,Logger之间通过名字来表明隶属关系。有一个Logger称为Root,它永远存在,且不能通过名字检索或引用,可以通过Logger.getRootLogger()方法获得,其它Logger通过 Logger.getLogger(String name)方法。(这是我们最常用的方法)。
通俗地说日志记录器(Logger)控制要启用或禁用哪些日志记录语句,并对日志信息进行级别限制

输出端(Appender):Appender则是用来指明将所有的log信息存放到什么地方,Log4j中支持多种appender,如 console、files、GUI components、NT Event Loggers等,一个Logger可以拥有多个Appender,也就是你既可以将Log信息输出到屏幕,同时存储到一个文件中。
通俗地说输出端(Appender)指定了日志将打印到控制台还是文件中

日志格式化器(Layout):Layout的作用是控制Log信息的输出方式,也就是格式化输出的信息。
通俗地说日志格式化器(Layout)控制日志信息的显示格式

2.日志记录器(lo4j的核心组成部分)

每个Logger都被了一个日志级别(log level),用来控制日志信息的输出。日志级别从高到低分为:
a:off : 是最高等级,用于关闭所有日志记录。
b:fatal :指出每个严重的错误事件将会导致应用程序的退出。
c:error : 指出虽然发生错误事件,但仍然不影响系统的继续运行。
d:warm : 表明会出现潜在的错误情形。
e:info : 一般和在粗粒度级别上,强调应用程序的运行全程。
f:debug :一般用于细粒度级别上,对调试应用程序非常有帮助。
g:all : 最低等级,用于打开所有日志记录。

以上这些级别是定义在org.apache.log4j.Level类中。但Log4j只建议我们使用4个级别,优先级从高到低分别是error,warn,info和debug。通过使用日志级别,可以控制应用程序中相应级
例如,如果使用了warm级别的话,只能输出比warm级别高的off,fatal,error的日志信息,而比warm优先级低就输不出来了,以此类推。
这样就很方便的来配置不同情况下要输出的内容,而不需要更改代码。

3.输出端

Appender用来指定日志信息输出到哪个地方,可以同时指定多个输出目的地。Log4j允许将信息输出到许多不同的输出设备中,一个log信息输出目的地就叫做一个Appender。
每个Logger都可以拥有一个或多个Appender,每个Appender表示一个日志的输出目的地。可以使用Logger.addAppender(Appender app)为Logger增加一个Appender,也可以使用Logger.removeAppender(Appender app)为Logger删除一个Appender。

以下为Log4j几种常用的输出目的地。
a:org.apache.log4j.ConsoleAppender:将日志信息输出到控制台。
b:org.apache.log4j.FileAppender:将日志信息输出到一个文件。
c:org.apache.log4j.DailyRollingFileAppender:将日志信息输出到一个日志文件,并且每天输出到一个新的日志文件。
d:org.apache.log4j.RollingFileAppender:将日志信息输出到一个日志文件,并且指定文件的尺寸,当文件大小达到指定尺寸时,会自动把文件改名,同时产生一个新的文件。
e:org.apache.log4j.WriteAppender:将日志信息以流格式发送到任意指定地方。
f::org.apache.log4j.jdbc.JDBCAppender:通过JDBC把日志信息输出到数据库中。

4.日志格式化器

日志格式化器格式化的方式一共有三种:HTMLLayout,SimpleLayout,PatternLayout

a.HTMLLayout
格式化日志输出为HTML表格形式如下图所示:在这里插入图片描述
b.SimpleLayout:以一种非常简单的方式格式化日志输出,它打印三项内容:级别-信息。如:INFO - info

c.PatternLayout:根据指定的转换模式格式化日志输出,或者如果没有指定任何转换模式,就使用默认的转化模式格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值