现在的位置: 首页 > 综合 > 正文

Log4j之简单入门

2014年02月01日 ⁄ 综合 ⁄ 共 2216字 ⁄ 字号 评论关闭

有句话我比较喜欢,叫做贵在坚持。一个人,哪怕只有一个好习惯,如果他坚持下去了,肯定会收益终身。

今天我讲下Apache中的一个Log4j子项目。

在JAVA项目开发中,最初我们喜欢调用System.out.println将调试信息打印在控制台上。但是这样做存在

一些不好的地方。比如在发布应用程序时,要将所有代码里的打印语句删除掉有时候会相当麻烦。另外如果

希望将调试信息打印在其它地方(比如说文件)或者以一定格式输出调试信息,System.out.println会显得

力不从心。为了统一标准,方便进行程序调试,Apache推出了Log4j框架。好,废话少说,下面讲解一下

Log4j的一些基本知识。

首先是下载Log4j:

Log4j的官网下载地址是 http://logging.apache.org/log4j/1.2/

(现在最新是log4j 2.0 beta1)

如果是Windows用户,应该下载ZIP格式的压缩包。

Log4j应该有一个(或多个)配置文件,log4j.properties是默认的log4j配置文件。

下面重点讲解下配置文件的配置。

1.级别配置:

一般常用的有5个级别,由低到高的顺序为:DEBUG<INFO<WARN<ERROR<FATAL.

2.输出源配置:

输出源名称可以任意,常见的输出源有:CONSOLE(控制台),FILE(输出到文件).

3. 布局方式

布局方式有很多:org.apache.log4j.HTMLLayout  org.apache.log4j.PatternLayout  org.apache.log4j.SimpleLayout

下面给出一个简单的log4j.properties配置文件:

log4j.rootLogger=DEBUG, A1

log4j.appender.A1=org.apache.log4j.ConsoleAppender

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

log4j.appender.A1.layout.ConversionPattern=%m%n

第一行设置级别为DEBUG模式,输出源名称为A1(用逗号分隔)

第二行设置输出源A1为控制台

第三行设置输出源A1的布局为模式布局

第四行设置布局方式,%m代表消息内容,%n代表换行

设置好配置文件,下面打开Eclipse,新建一个Java项目。

把下载好的log4j里的log4j JAR文件添加到工程中。

把写好的log4j.properties配置文件复制到工程里的src目录里(因为部署时,会将src目录里的文件放到classpath里去)

在src目录里新建一个类文件。

下面是一个示例:

package test;
import org.apache.log4j.Logger;

public class Test {
	private static Logger logger = Logger.getLogger("Test");
	public static void main(String args[]) {
		logger.debug("debug message");
		logger.info("info message");
		logger.warn("warn message");
		logger.error("error message");
		logger.fatal("fatal message");
		}
}

注意,配置文件名称如果不为log4j.properties,则程序会报错。

在调用Logger的不同级别消息方法时,必须大于等于配置文件里的设置级别。

比如如果配置文件里设置为WARN级别,如果调用Logger.debug()方法,将不会有任何输出。

配置文件如果不是叫做log4j.properties也行,不过要明确告诉JVM。关键代码如下:

import org.apache.log4j.PropertyConfigurator;
	String name="test.properties";//你的配置文件名称
	PropertyConfigurator.configure(name);//动态配置文件

上面是将信息输出到控制台上。

下面给出另外一个例子,将信息输出到文件中去。

log4j.rootLogger=DEBUG, A2

log4j.appender.A2=org.apache.log4j.FileAppender

log4j.appender.A2.file=src/test.log

log4j.appender.A2.layout=org.apache.log4j.SimpleLayout

上面指定将日志信息输出到文件中(test.log)。

注意配置文件名要为log4j.properties。

JAVA代码和上面的类似。

当然,也可以将日志信息输出到html文件中去:

关键代码为:

	log4j.rootLogger=ERROR,A3
	log4j.appender.A3=org.apache.log4j.FileAppender
	log4j.appender.A3.file=src/test.html
	log4j.appender.A3.layout=org.apache.log4j.HTMLLayout

如果用的是Tomcat服务器,建议将日志信息输出到logs文件夹里。(%catalina_home%/logs/)

抱歉!评论已关闭.