Log4J主要由3大组件构成:html
组件 | 描述 |
Logger | 负责生成日志,并可以对日志信息进行分类筛选。通俗地讲,就是决定什么日志信息应该被输出,什么日志信息应该被忽略。 |
Appender | 定义了日志信息输出的目的地,指定日志信息应该被输出到什么地方,这些地方能够是控制台、文件和网络设备等。 |
Layout | 指定日志信息的输出格式。 |
一个Logger能够有多个Appender,而且每一个Appender都对应一种Layout,Layout决定了输出日志信息的格式。apache
Log4J提供的Appender有如下几种:网络
名称 | 说明 |
org.apache.log4j.ConsoleAppender | 控制台 |
org.apache.log4j.FileAppender | 文件 |
org.apache.log4j.DailyRollingFileAppender | 天天产生一个日志文件 |
org.apache.log4j.RollingFileAppender | 文件大小到达指定尺寸的时候产生一个新的文件 |
org.apache.log4j.WriterAppender | 将日志信息做为数据流发送到任意指定的地方 |
经常使用的5种日志级别:FATAL、ERROR、WARN、INFO和DEBUG。布局
Layout组件用来决定日志的输出格式,它有如下几种类型:spa
名称 | 描述 |
org.apache.log4j.HTMLLayout | 以html表格形式布局 |
org.apache.log4j.PatternLayout | 能够灵活地指定布局模式 |
org.apache.log4j.SimpleLayout | 包含日志信息的级别和信息字符串 |
org.apache.log4j.TTCCLayout | 包含日志产生的时间、线程和类别等信息 |
PatternLayout的格式:线程
符号 | 描述 |
%r | 自程序开始运行到输出当前日志所消耗的毫秒数 |
%t | 表示输出当前日志的线程的名字 |
%p | 表示日志的级别 |
%d | 表示输出当前日志的日期 |
%c | 表示输出当前日志的Logger的名字 |
%m%n | 表示日志信息的内容 |
Logger组件的继承性:日志
Log4J提供了一个root Logger,它是全部Logger组件的祖先,如下是配置root Logger的代码:code
log4j.rootLogger=INFO,console