1. 为什么要使用Java日志
在程序的开发过程中我们需要调试程序,这时我们通过建立日志文件来记录程序的异常信息,当然有人说我们可以在IDE环境中通过控制台来查看堆栈信息也是可以调试程序,甚至通过单步调试来进行。没错,可是如果我们能够对异常信息进行保存那不是更好吗?所以Java日志的第一个作用就是在开发阶段记录程序的调试信息。
另外更为重要的是在产品交付使用后,我们可以用日志文件来记录程序的运行期间所发生的问题,帮助我们跟踪程序的运行状态,用户的使用信息,以改进程序,这时日志的第二个作用
2. Log4j的下载安装
Log4j是Java最流行的日志处理框架,包括许多著名的开源项目都是通过Log4j来记录和管理日志信息的,例如Hibernate。那么到哪里去下载Log4j呢,我们可以在apache的网站上down一个Log4j,地址是:http://logging.apache.org/log4j/去下载,下载解压后将log4j-1.2.15.jar文件(注意1.2.15是版本号,你下载时可能有所区别)拷贝到你的程序的classpath中去,这样就可以使用log4j的日志功能了。
3. Log4j的使用
package liky.log;
import java.util.Date;
import org.apache.log4j.Logger;
/**
* 演示log4j的使用
* @author 阿布
*
*/
public class MainClass {
// 调用Logger的getLogger方法获得一个Logger的实例,在这个方法中通常传入当前要记录的类
private static Logger log = Logger.getLogger(MainClass.class);
/**
* @param args
*/
public static void main(String[] args) {
log.info("程序开始运行"+ new Date().toString());
int result = 0;
try {
result = 4 / 0;
} catch (Exception ex) {
log.error("在获得两个数相除的结果时产生异常.", ex);
}
log.info("程序运行结束"+ new Date().toString());
}
}
4. log4j的配置
在上面的代码中如果运行就会在控制台上输出下列信息:
log4j:WARN No appenders could be found for logger (liky.log.MainClass).
log4j:WARN Please initialize the log4j system properly.
这是因为你还没有配置log4j的配置文件,log4j的日志文件有两种格式,一种是java的属性文件.properties文件,另一种是.xml文件,这里我们以属性文件为例说明如何配置。
首先在你当前的源代码src根目录下新建一个log4j.properties文件,然后在文件中输入下列内容:
# info: 表示日志要记录的信息级别,
# 级别有info、debug、error、all、fatal、trace、warn等几种级别,
# appender1: 表示
log4j.rootLogger=info,appender1
# FileAppender: 表示日志文件输出到哪里
# 可以输出的地方有ConsoleAppender(输出到控制台)、FileAppender(输出到文件)
# ConsoleAppender: output the log info to console
log4j.appender.appender1=org.apache.log4j.FileAppender
log4j.appender.appender1.File=log.html
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
文章出处:http://www.diybl.com/course/1_web/javascript/jsjs/2008126/152994.html