- Log4j简介
-
Log4j三大核心:Logger、Appender、Layout
-
简单示例
1 Log4j简介
在刚开始编程的时候总是免不了printf,System.out.println之类的语句。随着学习和工作的深入,发现这并不能满足对程序的调试需求。特别是针对大型项目的开发,在程序中出现基本不会出现以调试为目的的System.out.println等语句。个人来讲,这也不是一个成熟的程序员应该做的事情。废话少说,Log4j是apache组织下的一个开源项目,跟踪程序运行过程的信息,对调试起到非常重要的作用,也是大多数开发人员的必备利器。下面将对Log4j进行一个最基本认识的简介。写这个的目的也是为了记录和为刚开始接触的朋友提供一个参考。
2 Log4j三大核心:Logger、Appender、Layout
Logger:负责大部分日志记录操作
Appender:负责日志记录的输出操作,比如输出可以是控制台,文件输出,Writer等
Layout:负责对输出的内容进行格式化处理,即对输出数据的格式进行设置
3 简单示例
3.1
准备工作
-下载Log4j包:http://logging.apache.org/log4j/2.x/download.html
-解压文件,将lib中关于Log4j的jar包添加到classpath中,(或者待会儿直接在Eclipse中加入到libaray也行)
3.2
实际操作
3.2.1
新建工程之类的就不用详细介绍了,在工程中要确保log4j的jar包能在classpath中就OK了。
3.2.2
测试类如下
package com.wb.Log4j.demo; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.Level; import org.apache.log4j.Logger; public class Demo01 { static Logger logger=Logger.getLogger(Demo01.class); public static void main(String agrs[]){ logger.setLevel(Level.ALL); BasicConfigurator.configure(); logger.info("程序开始运行。。。"); add(11,10); logger.info("程序运行结束。。。"); } public static int add(int a,int b){ logger.info("Call Demo01.add() ..."); return a+b; } }
上述代码中BasicConfigurator.configure()方法是为了设置log输出的方式和输出内容的格式。相当于设置最基本的Log4j的环境变量。下一篇将会介绍可以通过配置文件的方式来设置不同的输出方式和不同的输出内容格式,其中文件配置主要有xml、JSON、文本文件(.properties),假设没有这一句的话将会产生的效果会是如下图所示(还曾记得以前上课的时候老师说出现这个情况是正常的,嘿嘿!!没有吐槽的意思哦!非常感谢老师的引导...)。而正确的情况应该是第3步显示的结果。
log4j:WARN No appenders could be found for logger (com.wb.Log4j.demo.Demo01).
log4j:WARN Please initialize the log4j system properly.
3.2.3
运行程序后的结果如下
0 [main] INFO com.wb.Log4j.demo.Demo01 - 程序开始运行。。。 0 [main] INFO com.wb.Log4j.demo.Demo01 - Call Demo01.add() ... 0 [main] INFO com.wb.Log4j.demo.Demo01 - 程序运行结束。。。
总结:Log4j是一个非常有用,并且应该是很常用的工具,对它的学习也只是刚刚才开始,在下面的学习中还需要对清进行总结,才能达到灵活运用的效果。
参考资料:
http://blog.csdn.net/cjamie/article/details/1065720
[2]
http://logging.apache.org/log4j/2.x/manual/configuration.html
http://www.blogjava.net/zJun/archive/2006/06/28/55511.html