log4j打印出日志信息

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

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

 

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

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

 

[java]  view plain  copy
 
 print ?
  1. package cn.com;  
  2.   
  3. import org.apache.log4j.Logger;  
  4.   
  5. public class UserDao {  
  6.     public static final Logger logger = Logger.getLogger(UserDao.class);  
  7.     public void add(){  
  8.         logger.debug("这是debug级别");  
  9.         logger.info("这是info级别");  
  10.         logger.warn("这是warn级别");  
  11.         logger.error("这是error级别");  
  12.         logger.fatal("这是fatal级别");  
  13.     }  
  14. }  

可以看到,在代码中,我们首先是创建了一个Logger对象,并且添加要输出日志的类

 

 

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

 

[html]  view plain  copy
 
 print ?
  1. log4j.appender.stout=org.apache.log4j.ConsoleAppender  
  2. log4j.appender.stout.layout=org.apache.log4j.PatternLayout  
  3. log4j.appender.stout.layout.ConversionPattern=[%p][%l]-->%m(%d)%n  
  4. log4j.rootLogger=DEBUG,stout  


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

 

 

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

 

 

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

 

[java]  view plain  copy
 
 print ?
  1. package cn.junit;  
  2.   
  3. import cn.com.UserDao;  
  4.   
  5. public class TestLog {  
  6.     public static void main(String[] args) {  
  7.         UserDao u = new UserDao();  
  8.         u.add();  
  9.     }  
  10. }  

运行这个类的main函数,控制台就会打印出相应的日志信息

猜你喜欢

转载自yuhuiblog6338999322098842.iteye.com/blog/2388300