如何使用log4j记录日志

IT程序员开发必备-各类资源下载清单,史上最全IT资源,个人收藏总结!


1. Logger日志为什么不打印?
  答:(1)需要在RESIN_HOMG\lib目录下包含所用的日志包,如:log4j-1.2.8.jar,commons-logging.jar;
        (2)需要在WEB-INFO\classes\目录下必须包含:commons-logging.properties和log4j.properties这两个文件;
        (3)commons-logging.properties文件中的内容如下:如果采用Log4J日志器那么必须写成:org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
        ##set Log as Log4J
        org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

    ## set Log as SimpleLog
    #org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
   (4)需要在web.xml中配置初始化Log4J:
   (5)在程充序使用有以下几种方式:
   第一种方式:
    importorg.apache.log4j.Logger;
    privatestatic Logger logger = Logger.getLogger(LoginAction.class); 
    logger.info("now enter LoginAction:execute() method!");
   第二种方式:
    importorg.apache.log4j.Category;
    privatestatic  Categorylogger=Category.getInstance(LoginAction.class);
    logger.info("now enter LoginAction:execute() method!");
   第三种方式:
    importorg.apache.commons.logging.Log;
    importorg.apache.commons.logging.LogFactory;
    privatestatic Log logger=LogFactory.getLog(LoginAction.class);
    logger.info("now enter LoginAction:execute() method!");
   *******************************************************************************************
   详情参见以下内容:
   一:介绍
log4j是jakarta的一个项目主要是为了调试使用的,为了不让是在程序中写很多System.out.println();
我个人觉得是一个不错的工具,程序调试好以后你可以关掉log4j.
二:下载
你可以从下面的地址下载到ant,目前版本:1.13
   http://jakarta.apache.org/builds/jakarta-log4j/release/v1.1.3/

三:安装
   log4j不需要安装,你只需要把log4j.jar,log4j-core.jar放在classpath中你就可以使用。


四:使用log4j
    1:)copylog4j.jar,log4j-core.jar到classpath中,在tomcat4.03中你可以把它放在
   tomcat_home\common\lib目录下。
   2:设置属性文件
   log4j需要用到一个log4j.properties文件内容如下:
   log4j.properties
   =====================================
   log4j.rootCategory=, A1
   log4j.appender.A1.layout=org.apache.log4j.PatternLayout
   最简单的配置,如果希望很复杂,自己看文档。
       
   3:写启动文件
   log4j的初始化有几种方式,我下面只提供一种方式。
   InitServlet.java (一个servlet)
   ==================================
    importjava.io.InputStream;
    importjava.io.IOException;
    importjava.util.Hashtable;
    importjava.util.Locale;
    importjava.util.MissingResourceException;
    importjavax.servlet.RequestDispatcher;
    importjavax.servlet.ServletException;
    importjavax.servlet.UnavailableException;
    importjavax.servlet.http.HttpServlet;
    importjavax.servlet.http.HttpServletRequest;
    importjavax.servlet.http.HttpServletResponse;
    importjavax.servlet.http.HttpSession;
    importjavax.servlet.*;
    importjava.io.*;
   
    public classInitServlet   extends HttpServlet {
       
       protected String config = "/log4j.properties";
   
        public void init() throws ServletException {
           ServletContext sct = getServletContext();
           System.out.println("[Log4j]:  The Root Path: " + sct.getRealPath("/"));
           System.out.println("[Log4j]:  InitServlet init start...");
           org.apache.log4j.PropertyConfigurator.configure(sct.getRealPath("/")+ getServletConfig().getInitParameter("log4j"));
           System.out.println("[Log4j]:  InitServlet init over.");
       }
   
   
        public void doGet(HttpServletRequest request,
                         HttpServletResponse response)
                         throws IOException, ServletException {
           ;
       }
   
   
      public void doPost(HttpServletRequest request,
                          HttpServletResponse response)
                          throws IOException, ServletException {
           ;
       }
    }
   
   4:设置web.xml
   上面写的servlet的在AppServer启动是就要运行,所以你需要配置一下web.xml
   加上如下内容:
   <servlet>
     <servlet-name>init</servlet-name>
     <servlet-class>com.InitServlet</servlet-class>
       <init-param>
           <param-name>log4j</param-name>
           <param-value>/log4j.properties</param-value>
           <!--相对aplication的路径在ROOT/log4j.properties参照上面-->
       </init-param>
       <load-on-startup>1</load-on-startup>
     </servlet>
     
     5:在程序中使用log4j;
     private static org.apache.log4j.Category log =
       org.apache.log4j.Category.getInstance(classname);
       //classname java文件名
   
   log.debug(".........");
   log.error(".........");
    .....
   具体的运用你可以看log4j的文档
   
   
   log4j.properties文件的内容为:
   _________________________________
   
log4j.rootLogger=INFO,console,file                             注解:这里console,file都表示Appendername,可以随便启名,后面用的时候一定要与此名保此一致即可!

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=c:\system.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%t %p - %m%n


   commons-logging.properties文件的内容为:
   _______________________________________
   
##set Log as Log4J
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

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

另外:请注意:一个resin服务只支持一个日志文件,并且只能将日志文件放到c盘

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值