log4j学习(上)

类别:Java 点击:0 评论:0 推荐:
csdn上有很多关于log4j的例子和教程,有的写的挺好的,但为了巩固知识,自己也写一份吧。   我对log4j的要求不是很高,主要有两个用途   一) web应用程序中如何使用log4j和common-logging 包; 二) 普通的java应用程序如何使用log4j和common-logging 包;   首先先总结简单的,在普通java应用程序中如何使用log4j和common-logging 包   步骤如下: 1) 将 log4j.jar 和 common-logging.jar 两个包加入到环境变量或者CLASSPATH   2)  写log4j.xml 文件,例如:   <?xml version="1.0" encoding="UTF-8"> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">   <log4j:configuration xmlns:log4j="http://jakarata.apache.org/log4j/">   <appender name="file" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="log.log"/> <layout class="org.apache.log4j.PatternLayout">  <param name="ConVersionPattern" value="%d [%t] %p - %m%n"/> </layout> </appender>   <logger name="com.log4j.test.test" additivity="false"> <level value="debug"/> <appender-ref ref="file"/> </logger>   <root> <level value="info"/> <appender-ref ref="file"/> </root>   </log4j:configuration>   3) 程序中使用方法: package com.log4j.test;   import org.apache.log4j.xml.DOMConfigurator;
import org.apache.commons.logging.*;      class ConfigLog4j
{
  public static void config()
  {
    DOMConfigurator.configure("config/log4j.xml");
  }
}
public class TestLog4j {
  private Log log =LogFactory.getLog(TestLog4j.class);     public TestLog4j() {
    ConfigLog4j.config();     }     public void testPrint1()
  {
    log.debug("debug test");
    log.info("info test");
    log.warn("warn test");
    log.error("error test");
  }     public static void main(String[] args)
  {
    TestLog4j test = new TestLog4j();
    test.testPrint1();

  }   }   OK ! 这样就会按要求打印消息了。   另附 log4j.dtd    log4j:configuration
            |
            +-- appender (name, class)
            |     |
            |     +-- param (name, value)
            |     +-- layout (class)
            |           |
            |           +-- param (name, value)
            +-- logger (name, additivity)
            |     |
            |     +-- level (class, value)
            |     |     |
            |     |     +-- param (name, value)
            |     +-- appender-ref (ref)
            +-- root
                  |
                  +-- param (name, class)
                  +-- level
                  |     |
                  |     +-- param (name, value)
                  +-- appender-ref (ref) 
  输出格式定义:   %m 输出代码中指定的消息 %p 输出优先级 %r 输出自应用启动到输出该log信息耗费的毫秒数 %c 输出所属的类目,通常就是所在类的全名 %t 输出产生该日志事件的线程名 %n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n” %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。一般使用了它就不需使用%c了。                参考文献:   http://blog.csdn.net/lxblg/archive/2004/09/14/104207.aspx   http://blog.csdn.net/baijsp/archive/2004/09/03/Log4j.aspx  

本文地址:http://com.8s8s.com/it/it15472.htm