Log4j配置

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 -   22 10 28
#
% 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();
    }
}
 

你可能感兴趣的:(apache,C++,c,log4j,servlet)