2010-07-29 63 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会切换到错误输出。