2013-07-31 16 views
1

請參閱下面的解決方案,錯誤描述有點模糊,因爲不知道哪裏出了什麼問題。Tomcat在webapp啓動時創建了過多的輸出

我想在Linux上部署一個新的tomcat7,以後要克隆整個機器,所以現在想正確設置它。 Tomcat itsel正常啓動,但是當試圖通過將war文件複製到webapps目錄來部署我們的應用程序時,catalina錯誤輸出文件被大約50MB的FINE日誌記錄(參見下面的一部分)所填充,並且沒有任何內容被放入正常的輸出文件和正常的日誌文件。

tomcat文檔(\ appdev \ sample \ sample.war)提供的sample.war文件不會發生同樣的情況,它會用通常的一些日誌行來啓動。

logging.properties文件是每個'FINE'替換爲'INFO'的默認文件,每個其他tomcat文件也是未修改的。

什麼定製:tomcat運行jsvc和自定義的啓動腳本。 CATALINA_BASECATALINA_HOME分開,並且tomcat以非root用戶運行。編輯:不知道是否有問題,但啓動腳本設置有關日誌記錄的這些啓動參數:-Djava.util.logging.config.file=<logging.proprties' path> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager以及控制檯輸出和控制檯輸出錯誤由啓動腳本設置。

大部分錯誤文件的內容來自org.apache.tomcat.util.digester.Digester類,似乎是無害的FINE級別日誌。

有沒有嚴重的錯誤日誌,而且也對於一些未設置區域設置一個警告,並在這之下,但他們幾乎在日誌的末尾:

Jul 31, 2013 12:34:24 PM org.apache.myfaces.component.html.util.ExtensionsFilter <init> 
WARNING: Please adjust your web.xml to use org.apache.myfaces.webapp.filter.ExtensionsFilter 

的logging.properties看起來像這個現在:

handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler 
.handlers = 1catalina.org.apache.juli.FileHandler 

############################################################ 
# Handler specific properties. 

1catalina.org.apache.juli.FileHandler.level = INFO 
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 
1catalina.org.apache.juli.FileHandler.prefix = catalina. 

2localhost.org.apache.juli.FileHandler.level = INFO 
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 
2localhost.org.apache.juli.FileHandler.prefix = localhost. 

3manager.org.apache.juli.FileHandler.level = INFO 
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 
3manager.org.apache.juli.FileHandler.prefix = manager. 

############################################################ 
# Facility specific properties. 

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler 

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler 

org.apache.commons.digester.Digester.[Catalina].level = INFO 
org.apache.commons.digester.Digester.[Catalina].handlers = 1catalina.org.apache.juli.FileHandler 

org.apache.commons.digester.Digester.[Catalina].[localhost].level = INFO 
org.apache.commons.digester.Digester.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler 

org.apache.commons.digester.Digester.[Catalina].[localhost].[/manager].level = INFO 
org.apache.commons.digester.Digester.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler 

EDIT2:添加設施爲org.apache.tomcat.util.digester.Digester特定的屬性,但沒有成功


爲什麼日誌會轉到outfile,而不是日誌文件? sample.war的日誌會同時存在,但每次啓動/停止只有一些行。 無論目的地爲何,當所有設置爲INFO時,爲什麼會有任何FINE日誌記錄?

所以請親切地adwise我可能做錯了什麼。我可以獲得應用程序的源代碼並檢查並修改其中的內容,但我不知道它是內部的。即使它有錯誤,我也不認爲這個錯誤輸出文件應該是這麼大,並且日誌記錄應該可以在默認配置下正常工作。

+0

編輯:原來,該tomcat啓動腳本沒有設置錯誤輸出文件。設置完成後,所有正常的日誌都會轉到該日誌,並且沒有任何過多的日誌記錄會轉到正常的outfile或日誌文件。在原來的帖子中編輯了這一點。 –

+0

EDIT2:爲'org.apache.tomcat.util.digester.Digester'添加了額外的設施特定屬性,但沒有成功 –

回答

0

該解決方案來自Mustafa Yuksel,描述爲here。這個人是英雄,我們有完全相同的問題,我們無法在數週內找到他們。

第一個問題是戰爭文件沒有使用org.apache.tomcat.util.digester.Digester,實際上是使用錯誤記錄器的org.apache.commons.digester.Digester.level類。這樣就可以與線

org.apache.commons.digester.Digester.level = INFO 

掩蓋了測井精細的第二個問題是,我們在一個項目有一個logging.properties,我們有Eclipse的包括在我們的戰爭文件。該項目包括一個額外的日誌。屬性文件,我們不知道。包含的eclipse項目在/ WEB-INF/lib /中作爲jar文件存在,因此您必須深入研究這些項目。

相關問題