log4j和web.xml配置webAppRootKey 的問題(一個tomcat下部署多個應用)

來源:互聯網
上載者:User

標籤:

轉自:http://blog.csdn.net/arvin_qx/article/details/6829873

在tomcat下部署兩個或多重專案時,web.xml檔案中最好定義webAppRootKey參數,如果不定義,將會預設為“webapp.root”,如下:

<!-- 應用路徑 --><context-param><param-name>webAppRootKey</param-name><param-value>webapp.root</param-value></context-param>

最好確保每個項目的參數值不同,以免引起項目衝突:

嚴重: Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListenerJava.lang.IllegalStateException: Web app root system property already set to different value: ‘webapp.root‘ = [C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\DRMProject\] instead of [C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\DRMSn\] - Choose unique values for the ‘webAppRootKey‘ context-param in your web.xml files!

對多重專案要對webAppRootKey進行配置,這裡主要是讓log能將日誌寫到對應項目根目錄下,如我配置這兩個項目的webAppRootKey為:

<!-- 應用路徑 --> <context-param> <param-name>webAppRootKey</param-name> <param-value>webapp.root1</param-value> </context-param> ==================================<!-- 應用路徑 --> <context-param> <param-name>webAppRootKey</param-name> <param-value>webapp.root2</param-value> </context-param>

這樣就不會出現衝突了。

定義以後,在Web Container啟動時將把ROOT的絕對路徑寫到系統變數裡。
然後log4j的設定檔裡就可以用${webName.root}來表示Web目錄的絕對路徑,把log檔案存放於webapp中。

log4j和web.xml配置webAppRootKey 的問題(一個tomcat下部署多個應用)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.