天天看點

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