随笔-86  评论-33  文章-0  trackbacks-0

Log4j配置
所需文件:1、jar包 : commons-logging.jar 、log4j-1.2.8.jar 、taglibs-log.jar
                    2、配置文件:commons-logging.properties 、log4j.properties
                    3、标签文件:taglibs-log.tag

commons-logging.properties文件内容:

      ##set Log as Log4J
     org.apache.commons.logging.Log
=org.apache.commons.logging.impl.Log4JCategoryLog

      ## set Log as SimpleLog
      #org.apache.commons.logging.Log
=org.apache.commons.logging.impl.SimpleLog


log4j.properties文件内容:

#ConversionPattern参数的格式含义
#格式名 含义
#
%c 输出日志信息所属的类的全名
#
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 221028
#
%f 输出日志信息所属的类的类名
#
%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
#
%m 输出代码中指定的信息,如log(message)中的message
#
%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
#
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
#
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
#
%t 输出产生该日志事件的线程名

## LOGGERS ##
#define a logger named helloAppLogger
log4j.rootLogger
=info,console,file

## APPENDERS ##
# define an appender named console, which is set to be a ConsoleAppender
log4j.appender.console
=org.apache.log4j.ConsoleAppender

# define an appender named file, which is set to be a RollingFileAppender
log4j.appender.file
=org.apache.log4j.RollingFileAppender
log4j.appender.file.File
=dada.txt

## LAYOUTS ##
# assign a SimpleLayout to console appender
log4j.appender.console.layout
=org.apache.log4j.SimpleLayout
# assign a PatternLayout to file appender

log4j.appender.file.layout
=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern
=%d{yyyy-MM-dd hh:mm:ss} [%c]:%-%c- %m%n

新建log4j配置文件载入servlet类:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.apache.log4j.PropertyConfigurator;

public class Log4j extends HttpServlet {
    
private static final String CONTENT_TYPE = "text/html; charset=GBK";

    
//Initialize global variables
    public void init() throws ServletException {
   String prefix 
= this.getServletContext().getRealPath("/");
   String file 
= this.getInitParameter("log4j");
   System.out.println(
"载入log4j配置文件"+prefix+file);
   
if(file!=null){
     PropertyConfigurator.configure(prefix
+file);
     }
    }

    
//Clean up resources
    public void destroy() {
    }
}
web.xml文件:
  <servlet>
    
<servlet-name>log4j</servlet-name>
    
<servlet-class>derek.log4j.Log4j</servlet-class>
    
<init-param>
      
<param-name>log4j</param-name>
      
<param-value>WEB-INF\classes\log4j.properties</param-value>
    
</init-param>
    
<load-on-startup>1</load-on-startup>
  
</servlet>
  
<servlet-mapping>
    
<servlet-name>log4j</servlet-name>
    
<url-pattern>/log4j</url-pattern>
  
</servlet-mapping>
测试代码:
import org.apache.log4j.Logger;

public class Log4jTest {
    
public Log4jTest() {
        Logger log 
= Logger.getLogger(this.getClass().getName());
        log.info(
"log4jDemo");
    }

    
public static void main(String[] args) {
        Log4jTest log4jtest 
= new Log4jTest();
    }
}
posted on 2006-01-18 11:18 Derek.Guo 阅读(1049) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航:
 
MSN:envoydada@hotmail.com QQ:34935442