在tomcat中配置 log

by camry.wu

在tomcat中配置commons-logging 和 log4j

今天配了一下 log, 记录一下动作.


  1. 先把 commons-logging.jar 和 log4j-xxx.jar 拷贝到 tomcat.home/common/lib/ 下. 在 tomcat.home/common/classes/ 下建个 log4j.properties 就行了. 这样所有输出信息可以由 log4j.properties 控制.
    log4j.properties 文件:

    # For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
    # For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.
    log4j.rootLogger=INFO, stdout, logfile

    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n

    log4j.appender.logfile=org.apache.log4j.RollingFileAppender
    log4j.appender.logfile.File=/home/camry/work/logs/xxxx.log
    log4j.appender.logfile.MaxFileSize=512KB
    # Keep three backup files.
    log4j.appender.logfile.MaxBackupIndex=3
    # Pattern to output: date priority [category] - message
    log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
    log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n


  2. 若你的 tomcat 中有好几个项目, 想不同项目日志写到不同位置去. 可以在项目中创建个 Log4jInitServlet.class 来载入该项目的 log4j.properties. 这时可以把 log4j.properties 放到 WEB-INF/ 下, 当然愿意放其他位置也可以.
    代码如下:
    WEB-INF/web.xml:

      <servlet> 
    <servlet-name>log4j-init</servlet-name> 
    <servlet-class> 
    com.xxx.xxxx.Log4jInitServlet 
    </servlet-class> 
    <init-param> 
    <param-name>log4j</param-name> 
    <!-- 这里标出了位置 --> 
    <param-value>/WEB-INF/log4j.properties</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 

    Log4jInitServlet.java :

      ... 
    package com.xxx.util; 
     
    import org.apache.log4j.PropertyConfigurator; 
     
    import javax.servlet.http.HttpServlet; 
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 
     
    /** 
    * to-do init log4j. 
    */ 
    public class Log4jInitServlet extends HttpServlet { 
     
    /** 
    * initial. 
    */ 
    public void init() { 
    String prefix = getServletContext().getRealPath("/"); 
    // 读出上面标出的位置 
    String file = getInitParameter("log4j"); 
    PropertyConfigurator.configure(prefix + file); 
    } // END: init 
    } // END: Log4jInitServlet 
    ... 

    Log4jInitServlet.java 文件可作为一个公用的 util.

最后更新: 2005年3月19日 星期六 23点59分22秒
HTML 转换程序: TeX2page 2004-09-11
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值