1、Log4j 是 Apache 的一个开放源代码的日志记录组件,
通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;
我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。
这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码.
2、Log4j 有三个主要的组件:
Loggers(记录器), Appenders (输出源) 和 Layouts(布局)。
这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。
可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。
(1)、Loggers:
在系统中被分为五个级别:DEBUG、INFO、WARN、ERROR 和 FATAL。
这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,用来指定这条日志信息的重要程度,
Log4j 的输出规则:只输出级别不低于设定级别的日志信息。
(2)、Appenders
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
配置模式:
log4j.appender.appenderName = className
log4j.appender.appenderName.Option1 = value1
…
log4j.appender.appenderName.OptionN = valueN
(3)、Layouts
自定义日志输出格式,Log4j 可以在 Appenders 的后面附加 Layouts 来完成这个功能。
Layouts 提供四种日志输出样式,
如根据 HTML 样式、自由指定样式、包含日志级别与信息的样式和包含日志时间、线程、类别等信息的样式。
四种日志输出样式使用的类如下:
org.apache.log4j.HTMLLayout(以 HTML 表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息)
配置模式:
log4j.appender.appenderName.layout =className
log4j.appender.appenderName.layout.Option1 = value1
…
log4j.appender.appenderName.layout.OptionN = valueN
3、Log4j 支持两种配置文件格式,一种是 XML 格式的文件,一种是 properties 属性文件。常用properties文件