commmons_logging 和 log4j 之日志笔记一

  1. 所有项目源码:http://pan.baidu.com/s/1b365ZK
  2. 日志原理
    1.   反应程序运行状况,错误,什么时候发生,什么情况发生。
  3. JDK 1.4 logging
    1.  优点:不需要任何类库支持,只要java环境运行即可
    2.  商业很少用,、
    3. JDK logging 日志分为几个级别ALL,FINEST,FINER,FINE,CONFIG,INFO,WARNINF,SERVER,OFF等。
    4. 如下代码:和输出信息 可以设置多个输出(Handler),每个设置不同的Level,通过addHandler 添加到中。
    5. import java.util.logging.ConsoleHandler;
      import java.util.logging.Handler;
      import java.util.logging.Level;
      import java.util.logging.Logger;
      
      public class JDKLogTest {
          public static Logger log = Logger.getLogger(JDKLogTest.class.toString());
                                                      //JDK 日志
          static{
              Handler console = new ConsoleHandler(); //添加一个控制台输出
              console.setLevel(Level.FINE);            //设置为FINE级别
              
              log.addHandler(console);               //添加到 log 中
          }
          public static void main(String[] args) {
              log.setLevel(Level.FINE);               //修改输出级别
              
              log.finest("finest");
              log.finer("finer");
              log.fine("fine");
              //控制台将只输出FINE 以上的级别
              log.config("config");
              log.info("info");
              log.warning("warning");
              log.severe("severe");
          }
      }

      console 信息如下

    6. 九月 20, 2016 11:36:33 下午 JDKLogTest main
      详细: fine
      九月 20, 2016 11:36:33 下午 JDKLogTest main
      配置: config
      九月 20, 2016 11:36:33 下午 JDKLogTest main
      信息: info
      九月 20, 2016 11:36:33 下午 JDKLogTest main
      信息: info
      九月 20, 2016 11:36:33 下午 JDKLogTest main
      警告: warning
      九月 20, 2016 11:36:33 下午 JDKLogTest main
      警告: warning
      九月 20, 2016 11:36:33 下午 JDKLogTest main
      严重: severe
      九月 20, 2016 11:36:33 下午 JDKLogTest main
      严重: severe

       

    7. JDk默认有个控制台输出INFO级别以上的信息所以这里输出了2次,根据级别等级设为ALL,输出所有信息,设置OFF 所有信息不会输出。
  4. Log4J 控件
    1. 目前最广泛的日志控件,日志级别(由低到高)ALL、TRACE(跟踪)、DEBUGE(调试)、INFO(信息)、WARNING(警告)、ERROR(错误)、INTAL(致命)、OFF。
    2. 高级别会屏蔽低级别的信息。
    3. 使用jar包  log4j-1.2.15.jar  项目源码 log4j.zip
    4. 配置文件log4j.properties
    5. log4j.rootLogger=DEBUG, A1                                     #DEBUG级别 输出到A1
      log4j.appender.A1=org.apache.log4j.ConsoleAppender             #定义A1为控制台输出
      log4j.appender.A1.layout=org.apache.log4j.PatternLayout
         #定义输出格式
      log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss,SSS} [%C]-[%p%m]%n
      %-d{yyyy-MM-dd HH\:mm\:ss,SSS} [%C]-[%p] %m%n  的具体分析 
      输出结果:
      2016-09-21 01:26:40,033 [com.log4j.test.Log4jTest]-[DEBUG] debug信息
      %-d{yyyy-MM-dd HH\:mm\:ss,SSS}        时间 :2016-09-21 01:26:40,033
      %C                                    类名 :com.log4j.test.Log4jTest
      %p                                    输出级别 :DEBUG
      %m                                    日志信息 :debug信息
      %n                                    换行输出控制符
      注意:其中[] - 原样输出
  5. common-logging控件
    1. apache common 类库中的一员,灵活选择JDK1.4 logging 和 log4j。自动检查是否使用 log4j.
    2. 源码:commonslogging.zip  所需jar :commons-logging.jar 。如果使用 log4j 加入log4j.jar.
    3. 可以使用配置文件显式地启用log4j.配置文件名commons-logging.propertise
    4. org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
      org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl

       

 

posted @ 2016-09-21 00:01  逸足天涯  阅读(573)  评论(0编辑  收藏  举报