把这个归于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打印出日志信息
原文:http://blog.csdn.net/u010800530/article/details/41083139