2011-02-11 67 views
4

我有幾個應用程序部署在tomcat 6中,這些應用程序被路由到不同的虛擬主機,因此它們都具有單獨的上下文根,並被命名爲ROOT.war。當Tomcat激發起來,在catalina.out的我看到這一點:Tomcat顯示部署的應用程序名稱而不是戰爭文件

INFO: Deploying web application archive ROOT.war 
Feb 11, 2011 1:33:55 PM org.apache.catalina.startup.HostConfig deployWAR 
INFO: Deploying web application archive ROOT.war 
Feb 11, 2011 1:33:56 PM org.apache.catalina.startup.HostConfig deployWAR 
INFO: Deploying web application archive ROOT.war 
Feb 11, 2011 1:33:57 PM org.apache.catalina.startup.HostConfig deployWAR 

應用程序日誌被髮送到不同的位置,我也沒有什麼順序的應用程序部署能說明問題及出路。

我想看看war的web.xml而不是ROOT.war的應用程序名稱。有沒有人知道一種方法來做到這一點,而無需啓用調試和混亂的日誌?

回答

2

Tomcat不支持有序的webapp部署(至少在版本5-6中)de jure實際上你可以在conf/server.xml之內以期望的順序提供對不同webapps的引用,它將(可能)工作。然而,這可以被歸類爲黑客。這種方法的另一個缺點是你必須在server.xml中靜態定義一些東西。

另一種方法是在每個Web應用程序中創建一個單獨的DeploymentInfoLogger(或任何指定的)類,並使用此類的名稱靜態初始化該記錄器。僅爲此類啓用調試級別(這樣您不會獲取大量不需要的日誌數據)。配置appender與catalina.outConsoleAppender我想?)是一樣的。使這個類成爲上下文監聽器,並在webapp啓動時記錄一些有意義的內容。這當然是可能的,只有當你事先知道這個webapp將服務於某個特定的虛擬主機。如果沒有,您可以使用一些本機Tomcat API來從配置中確定這一點。

Sėkmės:)

+0

我不關心它的webapps部署順序,只是想多看一點點信息的實時數據重新啓動服務器時。值得爲此編寫單獨的記錄器類的麻煩並不重要。我想有沒有簡單的方法,但感謝廣泛的答案! Ačiū:) – Spajus 2011-02-12 18:27:06