zoukankan      html  css  js  c++  java
  • Log4J输出日志到WEB工程目录的实现方法

    将Log4j的日志输出的web工程目录会方便系统移植、日志远程查看。那么如何来实现呢?可以通过一个自定义的Servlet设置系统属性的方法来实现,只需要几句代码,而且可配置、移植方便。 
    一、Servlet代码 

    package com.wallimn.gyz.util;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    /**
     * 设置一些系统变量<br/>*/
    public class SystemServlet extends HttpServlet {
    
        private static final long serialVersionUID = 8164865597169685698L;
        /**
         * 读配置,设置系统变量
         */
        public void init() throws ServletException {
            String rootPath = this.getServletContext().getRealPath("/");
            String log4jPath = this.getServletConfig().getInitParameter("elson.log4j.path");
            //若没有指定elson.log4j.path初始参数,则使用WEB的工程目录
            log4jPath = (log4jPath==null||"".equals(log4jPath))?rootPath:log4jPath;
            System.setProperty("elson.log4j.path", log4jPath);
            super.init();
        }
    }

     

     

    二、web.xml文件配置 
    <servlet> 
    <servlet-name>SystemServlet</servlet-name> 
    <servlet-class>com.elson.util.SystemServlet</servlet-class> 
    <init-param> 
    <param-name>elson.log4j.path</param-name> 
    <!--引自若未指定,则使用工程目录,若指定,使用指定目录--> 
    <param-value></param-value> 
    </init-param> 
    <load-on-startup>0</load-on-startup> 
    </servlet> 

    三、log4j.properties文件配置(输出到工程目录下的logs子目录中) 
    log4j.appender.FILEOUT = org.apache.log4j.DailyRollingFileAppender 
    log4j.appender.FILEOUT.File = ${elson.log4j.path}logs/log.html 
    log4j.appender.FILEOUT.Append = true 
    log4j.appender.FILEOUT.Threshold = DEBUG 
    log4j.appender.FILEOUT.layout = org.apache.log4j.HTMLLayout

     

    注意:上面的 load-on-startup 设为 0 ,以便在 Web 容器启动时即装入该 Servlet 。log4j.properties 文件放在根的properties子目录中,也可以把它放在其它目录中。应该把 .properties 文件集中存放,这样方便管理。

  • 相关阅读:
    高手详解SQL性能优化十条经验
    大并发大数量中的MYSQL瓶颈与NOSQL介绍
    数据库索引的作用和优点缺点
    数据库优化方法整理
    Java中Date和Calender类的使用方法
    常用正则表达式大全 (转)
    java 反射的实例
    JAVA路径问题
    jsp ${param.id}用法
    jsp base标签与meta标签学习小结
  • 原文地址:https://www.cnblogs.com/elson/p/2753245.html
Copyright © 2011-2022 走看看