首页 > 代码库 > 【SSH三大框架】Struts2基础第七篇:log4j打印出日志信息

【SSH三大框架】Struts2基础第七篇:log4j打印出日志信息

把这个归于Struts2是不太合适的,因为log4j是一个开源的代码项目,不仅仅可以用在Struts2上。

我们介绍一下log4j:通过使用log4j,我们可以把一些信息输出到控制台、文本文件、html文件等等中


首先,创建一个java project,我们建立一个lib目录,然后把log4j-1.2.15.jar或者其它版本的包引入进来并添加到path中去。

然后,我们定义一个简单的逻辑类UserDao.java

package cn.com;

import org.apache.log4j.Logger;

public class UserDao {
	public static final Logger logger = Logger.getLogger(UserDao.class);
	public void add(){
		logger.debug("这是debug级别");
		logger.info("这是info级别");
		logger.warn("这是warn级别");
		logger.error("这是error级别");
		logger.fatal("这是fatal级别");
	}
}
可以看到,在代码中,我们首先是创建了一个Logger对象,并且添加要输出日志的类


然后,在src目录下创建:log4j.properties

log4j.appender.stout=org.apache.log4j.ConsoleAppender
log4j.appender.stout.layout=org.apache.log4j.PatternLayout
log4j.appender.stout.layout.ConversionPattern=[%p][%l]-->%m(%d)%n
log4j.rootLogger=DEBUG,stout

我们分析下上边操作的步骤:

1、导入包
2、创建Logger对象
    //public static final Logger logger = Logger.getLogger(UserDao.class);
3、编写相应的日志
  /**可以为日志设置不同的级别,在log4j中:
  	debug<info<warn<error<fatal  **/
  	logger.debug("这是debug级别");
	logger.info("这是info级别");
	logger.warn("这是warn级别");
	logger.error("这是error级别");
	logger.fatal("这是fatal级别");
4、编写日志的配置文件,以此说明日志的显示方式和级别(在src目录下创建log4j.properties文件)
	4、1    首先创建Append
		log4j.appender.stout=org.apache.log4j.ConsoleAppender
	4、2  说明展示的布局
		log4j.appender.stout.layout=org.apache.log4j.PatternLayout
		说明用哪种布局进行展示,常用的是PatternLayout来展示
	4、3 说明通过什么样的格式来完成展示
		log4j.appender.stout.layout.ConversionPattern==[%p][%l]-->%m(%d)
		使用的格式是[什么级别的日志][日志的发生地]-->日志信息(日志时间)
5、在什么时候输出日志
	log4j.rootLogger=DEBUG,stout
	rootLogger是根目录的Logger,每一个项目的classpath就是根目录,只要运行到输出日志的位置,并且日志的级别大于DEBUG,就会输出
	


然后,我们创建一个类,用来测试:

package cn.junit;

import cn.com.UserDao;

public class TestLog {
	public static void main(String[] args) {
		UserDao u = new UserDao();
		u.add();
	}
}
运行这个类的main函数,控制台就会打印出相应的日志信息




【SSH三大框架】Struts2基础第七篇:log4j打印出日志信息