`

Java项目如何记录日志

    博客分类:
  • java
 
阅读更多

工程目录结构

 

 

1. 导入如上 log下的对应jar包

 

2. 在src下新建log4j.properties文件,类容如(详细配置:http://www.cnblogs.com/suman/archive/2010/10/23/1858864.html )

 

[plain] view plaincopy
  1. # 定义 DEBUG 优先级, R 为日志输出目的的   
  2.   
  3. log4j.rootLogger= DEBUG, R   
  4.   
  5. # 设置日志输出类型 , 为文件类型   
  6.   
  7. log4j.appender.R= org.apache.log4j.FileAppender   
  8.   
  9. # 设置日志文件名 logRecord.log, 输出到 tomcat 服务器的 logs 目录下   
  10.   
  11. log4j.appender.R.file= ../logs/logRecord.log   
  12.   
  13. # 每次在文件尾写入新的日志信息   
  14.   
  15. log4j.appender.R.Append= true   
  16.   
  17. # 日志输出信息格式类型   
  18.   
  19. log4j.appender.R.layout= org.apache.log4j.PatternLayout   
  20.   
  21. # 日志输出信息格式为 换行、日期、优先级、 [ 全类名 ] 、日志信息、换行   
  22.   
  23. log4j.appender.R.layout.ConversionPattern= %n%d%p [%l] %m%n   


 

 

3.编写测试类

 

[java] view plaincopy
  1. package com.test;   
  2.   
  3.     
  4.   
  5. import org.apache.commons.logging.Log;   
  6.   
  7. import org.apache.commons.logging.LogFactory;   
  8.   
  9.     
  10.   
  11. /**  
  12.  
  13.   *  
  14.  
  15.   * @author leiwei 2011 - 11 - 29  
  16.  
  17.   *  
  18.  
  19.   */   
  20.   
  21. public class Test {   
  22.   
  23.    // 在任何需要记录日志的类中   
  24.   
  25.       Log log = LogFactory.getLog( this .getClass());   
  26.   
  27.    
  28.   
  29.    public void one() {   
  30.   
  31.       log .info( "into one method" );   
  32.   
  33.       try {   
  34.   
  35.          System. out .println(9/0);   
  36.   
  37.       } catch (RuntimeException e) {   
  38.   
  39.          log .error(e.getMessage());   
  40.   
  41.       }   
  42.   
  43.       log .info( "out one method" );   
  44.   
  45.    }   
  46.   
  47.    
  48.   
  49.    public static void main(String[] args) {   
  50.   
  51.       new Test().one();   
  52.   
  53.    }   
  54.   
  55. }   


 

 

4.查看 记录的日志如下

2013-06-21 15:15:44,436INFO [test.Test.one(Test.java:17)] into one method
 
2013-06-21 15:15:44,461ERROR [test.Test.one(Test.java:25)] / by zero
 
2013-06-21 15:15:44,462INFO [test.Test.one(Test.java:29)] out one method

 

分享到:
评论
1 楼 letmedown 2013-06-28  
使用AOP是不是比这个更简单一些呢?

相关推荐

Global site tag (gtag.js) - Google Analytics