2010-07-29 23 views
21

我在Eclipse(3.3.2)中配置Tomcat(5.5)服務器。一旦我添加Tomcat並啓動它,輸出將打印在Eclipse控制檯中。該輸出以紅色打印,表示其標準錯誤。雖然服務器無誤啓動,但正常的INFO也被標記爲錯誤。Tomcat STDOUT在Eclipse中的錯誤

Jul 29, 2010 7:06:14 PM org.apache.catalina.core.AprLifecycleListener init 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.5.0_10\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Java\jdk1.5.0_10\bin\..\jre\bin\client;C:\Program Files\Java\jdk1.5.0_10\bin\..\jre\bin;C:\Program Files\CollabNet Subversion Client;C:\Program Files\Java\jdk1.5.0_10\bin;C:\Program Files\Java\jre1.5.0_07\bin;C:\Program Files\Oracle\Oracle9i\9201\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Sybase125\OCS-12_5\bin;C:\Program Files\Sybase125\OCS-12_5\dll;C:\Program Files\Sybase125\OLEDB;C:\Program Files\Rational\ClearCase\bin;C:\Program Files\Ubsw\Wire\Core;Z:\ZUR_GCOMP_DOC\Project_Trust\datamodel\scripts\GC_trust\Release\1.36\01-DDL;K:\scripts\;C:\Program Files\Ubsw\Wire\Core\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Windows Imaging\;C:\Program Files\MySQL\MySQL Server 5.1\bin;C:\Program Files\apache-maven-2.2.1\bin;C:\Program Files\apache-ant-1.7.0\bin;C:\Viral\Tech\Java\javadb/bin;C:\Program Files\JAD 
Jul 29, 2010 7:06:15 PM org.apache.coyote.http11.Http11BaseProtocol init 
INFO: Initializing Coyote HTTP/1.1 on http-8080 
Jul 29, 2010 7:06:15 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 1187 ms 
Jul 29, 2010 7:06:15 PM org.apache.catalina.core.StandardService start 
INFO: Starting service Catalina 
Jul 29, 2010 7:06:15 PM org.apache.catalina.core.StandardEngine start 
INFO: Starting Servlet Engine: Apache Tomcat/5.5.30 
Jul 29, 2010 7:06:15 PM org.apache.catalina.core.StandardHost start 
INFO: XML validation disabled 
Jul 29, 2010 7:06:15 PM org.apache.coyote.http11.Http11BaseProtocol start 
INFO: Starting Coyote HTTP/1.1 on http-8080 
Jul 29, 2010 7:06:15 PM org.apache.jk.common.ChannelSocket init 
INFO: JK: ajp13 listening on /0.0.0.0:8009 
Jul 29, 2010 7:06:15 PM org.apache.jk.server.JkMain start 
INFO: Jk running ID=0 time=0/110 config=null 
Jul 29, 2010 7:06:15 PM org.apache.catalina.storeconfig.StoreLoader load 
INFO: Find registry server-registry.xml at classpath resource 
Jul 29, 2010 7:06:15 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 922 ms 

任何人都可以讓我知道如何克服這一點,並將輸出更改爲黑色作爲標準輸出?

回答

11

這是紅色,因爲它寫到標準錯誤被複制(System.err),假設您使用的是正常配置。

理論上,解決這個問題的方法是調整日誌記錄配置(基於java.util.logging),以便將INFO級別和更低級別的消息寫入標準輸出。不幸的是,這比可能會有點混亂,因爲ConsoleHandler類是硬編碼以寫入標準錯誤,如果您在寫入標準輸出和標準錯誤之間混合使用,那麼很可能最終會得到日誌消息亂序寫入。 (這很糟糕,非常令人困惑)你可以通過繼承StreamHandler來修復它,並且做了很多擺弄 - 例如,覆蓋publish,因此如果日誌記錄從高級變爲低級或反之亦然,則設置輸出流 - 但是我真的懷疑結果會是你想要的。它也會變慢。

由於在Tomcat的生產部署中,您不會登錄到控制檯(它默認情況下會記錄到文件),我建議您不要再爲此擔心。

+0

這樣做嗎? http://stackoverflow.com/questions/194165/how-do-i-change-java-logging-console-output-from-std-err-to-std-out以及誰會使用Tomcat? – 2015-02-12 09:22:31

3

有一個簡短的回答你的問題:

在控制檯視圖>首右鍵CLIC ...

,然後設置「標準錯誤文本顏色」爲黑色。

但是,如果Eclipse知道Tomcat服務器日誌不會顯示爲紅色,那當然會更好。

它看起來像有目前沒有更好的答案: http://www.eclipse.org/forums/index.php?t=msg&goto=531848&

這個問題可以在Tomcat 6和Tomcat 7在Eclipse 3.6.2

+0

我認爲這是最簡單的解決方案。不幸的是,在Tomcat 7的Eclipse Juno SR2中這仍然是一個問題。 – johnnieb 2014-10-28 00:20:00

+0

tomcat 8和eclipse mars也有同樣的問題 – Anatoly 2016-05-12 20:29:16

1

以下爲我工作。

在Tomcat的server.xml中註釋掉

<Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/> 

好像「紅造成」被Tomcat無法加載APR本地庫。跳過加載,不再紅色。

+1

試過這個,它沒有工作。我還配置了APR本機庫以正確加載,並且也沒有改變任何東西。 – 2014-04-24 15:48:59

+0

@SamHasler我注意到,每當Tomcat發出任何類型的錯誤或警告時都會發生該問題。你還看到其他什麼嗎? – Marc 2014-04-25 23:41:38

0

對我來說,這是一些其他的錯誤。當我確定的時候,它幫助我們在啓動日誌中沒有任何錯誤(只有信息)。顯然,如果遇到錯誤,tomcat會切換到錯誤輸出。

相關問題