天天看点

Java Log4j打印在WebRoot/logs/ 还需要测试...

注意:如果一个服务下多个项目key不能重复

方法一: 增加InitServlet.java ,init()方法中

  String oldValue = System.getProperty("webapp.root");

  if (oldValue != null) { 

        throw new IllegalStateException("Web app root system property already set");

  }

       String webRoot = this.getServletContext().getRealPath("/");

        System.setProperty(Constants.OMS_WEB_ROOT, webRoot);

        String file = getInitParameter("log4jConfigLocation");

        if (file != null) {

          PropertyConfigurator.configure(webRoot + file);    

        }

在web.xml增加 

  <servlet>

     <servlet-name>InitServlet</servlet-name>

     <servlet-class>com.huawei.testtools.oms.InitServlet</servlet-class>

     <init-param>

         <param-name>log4jConfigLocation</param-name>

         <param-value>/WEB-INF/classes/log4j.properties</param-value>

     </init-param>

     <load-on-startup>0</load-on-startup>

   </servlet>

方法二: 导入Spring的jar包然后在WEB.XML中增加

    <listener>

        <listener-class>

            org.springframework.web.util.Log4jConfigListener

        </listener-class>

    </listener>

 ---------------------------------------------------------------------------

最后在log4j.properties中

log4j.appender.file.File=${webapp.root}/logs/log.log