Log4j的学习

今天在Google reader上看到了人家讨论log4j的用法。想起来自己以前也整过两天,不过实在是想不起来了。这不,又从网上开始找点资料来看看了。其实大家肯定也和我一样,喜欢在程序当中写无数的println,杂乱无序的很讨人厌。

废话不多说,开始吧。

首先,你要使用log4j必须得有log4j的包吧。去哪里下载呢?当然是去apache的网站了。apache实在是有太多的好东西了。下载完毕后为了方便,建议还是在Myeclipse当中新建一个关于log4j的用户库。这样以后使用起来也方便很多。

log4j的使用主要就是其配置文件的使用。我们先来看一个简单的配置吧。

 

log4j.rootLogger=debug,appender1

#输出到文件(这里默认为追加方式)
log4j.appender.appender1=org.apache.log4j.FileAppender
#设置文件输出路径
#文本文件
#log4j.appender.appender1.File=c:/Log4J.log
#HTML文件
log4j.appender.appender1.File=c:/Log4J.html
#设置文件输出样式
#log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout

 

  log4j由三个重要的组件构成:日志信息的优先级日志信息的输出目的地日志信息的输出格式与布局

我们来一段段的看这个代码吧,首先

 

log4j.rootLogger=debug,appender1

 

  这段代码是用来定义log的根配置。这里后面有两个属性。第一个debug,debug是log的优先级。这里存在如下优先级别:从高到低有ERROR、WARN、INFO、DEBUG

appender1是定义的一个日志信息属性。我们来看下面这段代码

 

log4j.appender.appender1=org.apache.log4j.FileAppender

 

  这段代码定义的是日志信息的输入目的地为file(文件)。其中log4j提供的日志信息输出方式有如下几点:

 

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

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

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

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

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

 

 

log4j.appender.appender1.File=c:/Log4J.html
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout

 

  以上两行分别表示为输入的文件位置和输出的格式(布局)

其中log4j的布局提供如下几种方式:

 

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

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

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

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

 

就拿上面的例子来说,那么我们怎么在自己的java代码中输出自己的log信息呢?我们还是先来看一段代码吧:

 

package com.foolfish.log4j;

import org.apache.log4j.Logger;

public class Log4jDemo{

	private static Logger logger = Logger.getLogger(Log4jDemo.class);

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		logger.debug("Hello this is my debug log.");
		logger.info("Hello this is my infolog.");
		logger.error("Hello this is my error log.");
	}
}

 

 我们来看如下的代码

 

private static Logger logger = Logger.getLogger(Log4jDemo.class);

 该段代码的作用是获取log相关配置,下面我们就可以调用logger提供的各种级别的方法来输出自己的log信息了。

 

logger.debug("Hello this is my debug log.");
logger.info("Hello this is my infolog.");
logger.error("Hello this is my error log.");

 

 

好了,运行该程序,那么你将会在你的C盘下看见网页形式的log文件Log4JDemo.html,打开该文件:

 



怎么样,效果还不错吧

 

 

 

你可能感兴趣的:(apache,C++,c,log4j,MyEclipse)