Подтвердить что ты не робот

Tomcat STDOUT как ошибка в Eclipse

Я настраиваю сервер Tomcat (5.5) в Eclipse (3.3.2). Когда я добавляю Tomcat и запускаю его, вывод печатается в консоли Eclipse. Этот вывод печатается красным цветом, указывая на его стандартную ошибку. Хотя сервер запускается без каких-либо ошибок, нормальная INFO также помечена как ошибка.

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

Может ли кто-нибудь дать мне знать, как преодолеть это и изменить вывод обратно на BLACK как STDOUT?

4b9b3361

Ответ 1

Он красным, потому что он записывается в стандартную ошибку (System.err), если вы используете обычную конфигурацию.

Теоретически, способ исправить это - настроить конфигурацию ведения журнала (которая, как представляется, основана на java.util.logging), чтобы сообщения на уровне INFO и ниже были записаны вместо стандартного. К сожалению, это немного более беспорядочно, чем могло бы быть из-за того, что класс ConsoleHandler жестко закодирован для записи в стандартную ошибку, и если вы смешиваете между записью и стандартным ошибкой, есть хороший шанс, что вы закончите чтобы получить сообщения о регистрации, написанные не по порядку. (Это плохо. Очень запутанно.) Вы можете исправить это путем подклассификации StreamHandler и совершить много возиться - например, переопределить publish, чтобы он устанавливал выходной поток, если регистрация менялась с высокого уровня на низкий или наоборот наоборот, но я действительно сомневаюсь, что результаты будут такими, какие вы хотите. Это также будет медленным.

Поскольку в производственном развертывании Tomcat вы все равно не входите в консоль (он регистрируется в файлах по умолчанию), я предлагаю не беспокоиться об этом.

Ответ 2

Существует короткий ответ на ваш вопрос:

Правый клик в представлении консоли > Настройки...

а затем установите "Цвет текста стандартной ошибки" на черный.

Но, конечно, было бы лучше, если бы Eclipse знал, что журнал сервера Tomcat не будет отображаться красным цветом.

Похоже, на данный момент нет лучших ответов: http://www.eclipse.org/forums/index.php?t=msg&goto=531848&

Проблема может быть воспроизведена с помощью Tomcat 6 и Tomcat 7 в Eclipse 3.6.2

Ответ 3

Для меня это работало.

В Tomcat server.xml закомментируйте

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

Похоже, что "красный вызван" от Tomcat не сможет загрузить родной lib APR. Пропустите загрузку и не краснейте.

Ответ 4

Для меня это была другая ошибка. Это помогло, когда я убедился, никаких ошибок (только информация), где в журнале запуска. По-видимому, tomcat переключается на вывод ошибки, если он встречает ошибку.