Log4J主要由3大组件构成:
组件 | 描述 |
Logger | 负责生成日志,并能够对日志信息进行分类筛选。通俗地讲,就是决定什么日志信息应该被输出,什么日志信息应该被忽略。 |
Appender | 定义了日志信息输出的目的地,指定日志信息应该被输出到什么地方,这些地方可以是控制台、文件和网络设备等。 |
Layout | 指定日志信息的输出格式。 |
一个Logger可以有多个Appender,并且每个Appender都对应一种Layout,Layout决定了输出日志信息的格式。
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组件用来决定日志的输出格式,它有以下几种类型:
名称 | 描述 |
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的代码:
log4j.rootLogger=INFO,console