Log4j是Apache的一个开放源代码项目,目前最流行的日志管理工具。通过使用Log4j,开发人员可以控制日志信息输送的目的地和每一条日志的输出格式;通过定义每条日志信息的级别,用户可以更加细致的控制日志的生成过程。这些只需要通过一个配置文件即可完成。
Log4j由三个重要的组件组成:日志信息的优先级、日志信息的输出目的地和日志信息的输出格式。
使用Log4j,首先需配置Log4j,即指定Log4j的日志输出位置、输出格式、输出优先级等信息,然后在程序中获取Logger,之后系统即可自动根据配置文件中指定的日志输出位置、输出格式、输出优先级来记录日志了。具体步骤如下:
1 配置Log4j
Log4j可直接在代码中配置,也可以在XML或properties中进行配置,下面给出properties的配置文件示例。
log4j.rootLogger=DEBUG,stdout,R
#Log4j常用的优先级FATAL>ERROR>WARN>INFO>DEBUG
log4j.logger.org=ERROR,A1
#A1设置输出地A1到文件(,文件大小到达指定尺寸的时候产生一个新文件)
log4j.appender.A1=org.apache.log4j.RollingFileAppender
###文件位置##
log4j.appender.A1.File=orglog.log
###文件大小
log4j.appender.A1.MaxFileSize=500KB
log4j.appender.A1.MaxBackupIndex=50
log4j.appender.A1.Append=true
###设置A1的输出布局格式PatterLayout##
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
该配置文件放在WEB-INF\src目录下,则会自动初始化。
2 配置根Logger
语法为: log4j.rootLogger=[level],appenderName,appenderName,...
level为日志记录的级别,level以下的将被屏蔽;appenderName指定输出目的地,可指定多个。
3 指定日志输出位置
Log4j定义了多种输出位置的方式:
ConsoleAppender:输出到控制台
FileAppender:输出到文件
DailyRollingFileAppender:扩展Fileappender,每天产生一个日志文件
RollingFileAppender:扩展Fileappender,备份容量达到一定大小的日志文件
WriterAppender:将日志以流格式发送到任意指定地方
JDBCAppender:输出到数据库
SMTPAppender:发送至邮件
4.指定日志输出格式
HTMLLayout:格式化日志输出为HTML表格
PatternLayout:可灵活的指定布局模式
SimpleLayout:输出的日志信息包含日志的级别
TTCCLayout:包含日志产生的时间、线程、类别等信息。
5 指定日志输出优先级
FATAL:level0,logger.fatal()
ERROR:level3,logger.error()
WARN:level4,logger.warn()
INFO:level6,logger.info()
DEBUG:level7,logger.debug()
6 在代码中使用Log4j
要使用Log4j,需要用到log4j-1.2.14.jar和Log4j的配置文件。
根据类名实例化一个静态的全局日志记录器:
static Logger logger=Logger.getLogger(myClass.getName())
然后在需要日志的地方,添加相应的代码
logger.fatal(msg);