Log4j的学习与使用

来源:互联网 发布:stardew valley mac 编辑:程序博客网 时间:2024/05/15 15:59

Log4j的学习和使用:

Log4j:控制日志输出的一个东东······

使用:

1.下载jar包并放到项目的lib中去。

 

2.src目录下创建log4j.properties

3.log4j.properties中添加配置,这里面主要分三部分。

第一部分是rootlogger的配置:

log4j.rootLogger = [ level ] , appenderName, appenderName,

level 是日志记录的优先级,分为OFFFATALERRORWARNINFODEBUGALL或者您定义的级别。Log4j建议只使用四个级别,优 先级从高到低分别是ERRORWARNINFODEBUG

appenderName就是指B日志信息输出到哪个地方。您可以同时指定多个输出目的地。这个名字可以任意起名,在下边的代码中会对它定义。

 

第二部分是配置日志信息输出目的地Appender

log4j.appender.appenderName = fully.qualified.name.of.appender.class  

log4j.appender.appenderName.option1 = value1  

log4j.appender.appenderName.option = valueN

其中,Log4j提供的appender有以下几种:

org.apache.log4j.ConsoleAppender(控制台),  

org.apache.log4j.FileAppender(文件),  

org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),  

org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),  

org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

 

第三部分是.配置日志信息的格式(布局)

log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class  

log4j.appender.appenderName.layout.option1 = value1  

…  

log4j.appender.appenderName.layout.option = valueN

其中,Log4j提供的layout有以e几种:

org.apache.log4j.HTMLLayout(以HTML表格形式布局),  

org.apache.log4j.PatternLayout(可以灵活地指定布局模式),  

org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),  

org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

 

Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下:%m 输出代码中指定的消息

%p 输出优先级,即DEBUGINFOWARNERRORFATAL  

%r 输出自应用启动到输出该log信息耗费的毫秒数  

%c 输出所属的类目,通常就是所在类的全名  

%t 输出产生该日志事件的线程名  

%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”  

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:20021018221028921  

%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。

 

注:要给每一个输出目的地配置输出日志格式,所以一般配置了rootlogger之后,按各个目的地输出再进行配置。

 

设置package输出级别

可以设置不同package的日志输出级别,语法为:

log4j.logger.packageName=level

其中,packageName为实际的包名,level为日志级别,例如:

复制代码代码如下:

log4j.logger.org.springframework=info

log4j.logger.org.apache.catalina=info

log4j.logger.org.apache.commons.digester.Digester=info

log4j.logger.org.apache.catalina.startup.TldConfig=info

log4j.logger.chb.test=debug

 

例子:

 

log4j.rootLogger=info,console,logfilelog4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%nlog4j.appender.logfile=org.apache.log4j.FileAppenderlog4j.appender.logfile.File=E://logs/error.loglog4j.appender.logfile.layout=org.apache.log4j.PatternLayoutlog4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n 

 

4.Java中使用log4j

 

package test;import org.apache.log4j.Logger;public class Log4jTest {private static Logger logger=Logger.getLogger(Log4jTest.class);public static void main(String[] args) {logger.debug("debug日志");logger.info("info日志");                                                                                                                  logger.warn("warn日志");logger.error("error日志");}}

结果:

console:

 



 

 

 学习链接:

log4j的使用详细解析:http://www.cnblogs.com/byron0918/p/5769646.html

最详细的Log4j使用教程:http://www.codeceo.com/article/log4j-usage.html


0 0
原创粉丝点击