Log4j的介绍和使用

本文介绍了Apache Log4j的日志记录系统,包括其核心组件Logger、Appender和Layout的功能及配置方法。Log4j支持多种日志级别,如DEBUG、INFO等,并能将日志输出到控制台、文件等多种目的地。

一、log4j介绍

Log4jApache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器NT的事件记录器、UNIXSyslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

一、log4j组件介绍

Log4j有三个主要的组件:Loggers(记录器)Appenders (输出源)Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。

2.1  Loggers

Loggers组件在此系统中被分为五个级别:DEBUGINFOWARNERRORFATAL。这五个级别是有顺序的,DEBUG <INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度,明白这一点很重要,Log4j有一个规则:只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFOWARNERRORFATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。

2.2  Appenders

禁用和使用日志请求只是Log4j的基本功能,Log4j日志系统还提供许多强大的功能,比如允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等等。

常使用的类如下:
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

2.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

三、log4j的配置

1、  加入log4j-1.2.16.jar包;

2、  加入log4j.properties配置文件,并进行相应的配置。

log4j.rootLogger=INFO,console,FILE

log4j.appender.console=org.apache.log4j.ConsoleAppender

log4j.appender.console.threshold=INFO

log4j.appender.console.layout=org.apache.log4j.PatternLayout

log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-ddHH:mm:ss}[%5p]-%c(%L)-%m%n

 

log4j.appender.FILE=org.apache.log4j.RollingFileAppender

log4j.appender.FILE.Append=true

log4j.appender.FILE.File=./bocfileparse.log

log4j.appender.FILE.Threshold=INFO

log4j.appender.FILE.layout=org.apache.log4j.PatternLayout

log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-ddHH:mm:ss}[%5p]-%c(%L)-%m%n

log4j.appender.FILE.MaxFileSize=30MB

3、  在要输出日志的类中加入相关语句:

      private static Log log = LogFactory.getLog(Fu.class);

 

 

 

 详细文档见百度网盘:java se下

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值