Log4j
框架是用
Java
语言编写的标准日志记录框架。作为
Jakarta
项目的一部分,
以速度和灵活性为中心概念:
Log4j
由三个重要的部件构成:记录器(
Loggers
)、输出源(
Appenders
)和布局(
Layouts
)。
记录器按照布局中指定的格式把日志信息写入一个或多个输出源。输出源可以是控制台、文本文件、
XML
文件或
Socket
,甚至还可以把信息写入到
Windows
事件日志或通过电子邮件发送。我们可以通过配置文件来部署这些组件。
Log4j提供两种配置方法: 代码配置和文件配置
Log4j
允许程序员定义多个记录器,每个记录器有自己的名字。但有一个记录器叫根记录器,它永远存在,且不能通过名字检索或引用,在配置文件中,可以如下定义根记录器
log4j.rootLogger
=
[ level ] , appenderName, appenderName, …
Level
是记录器的级别,它是日志记录的优先级,分为
OFF
、
FATAL
、
ERROR
、
WARN
、
INFO
、
DEBUG
、
ALL
或者您定义的级别。
Log4j
建议只使用四个级别:
ERROR
、
WARN
、
INFO
、
DEBUG
:
右边的级别比左边的高。如果一条log信息的级别,大于等于记录器的级别值,那么记录器就会记录它。例如level被设置为INFO级别,那么应用程序中所有的DEBUG的日志信息将不被打印出来。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。
日志信息输出源
Appender
log4j
还允许日志记录请求打印到多个输出目的地,按
log4j
的叫法是输出源。一个记录器可以有多个输出源。一条
log
信息如果可被这个记录器处理,则该记录器会把这条信息送往每个它所拥有的输出源,以及层次结构中更高级的输出源。例如,根记录器以控制台作为输出源,则所有可被纪录的日志都将至少打印到控制台。