Tomcat STDOUT как ошибка в Eclipse - PullRequest
22 голосов
/ 29 июля 2010

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

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

Может кто-нибудь дать мне знать, как преодолеть это и изменить выход обратно на ЧЕРНЫЙ как STDOUT?

Ответы [ 5 ]

12 голосов
/ 16 апреля 2011

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

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

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

3 голосов
/ 12 апреля 2011

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

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

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

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

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

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

1 голос
/ 27 июля 2012

Следующее сработало для меня.

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

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

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

0 голосов
/ 13 августа 2018

Да, java.util.logging.ConsoleHandler публикует в System.err (а не в System.out) ...

Обходной путь, который не включает кодирование или просто маскирование любой возможной ошибки в черном цвете, заключается в добавлении к аргументам VM в конфигурации запуска eclipse:

 -Djava.util.logging.config.file="${workspace_loc}\Servers\Tomcat v8.5 Server at localhost-config\logging.properties"

(настроить папку конфигурации сервера соответственно)

и создайте logging.properties с помощью:

.level=WARNING

Таким образом, в консоли будут отображаться только проблемы или потенциальные проблемы, но красным цветом будет соответствующий цвет.

0 голосов
/ 27 февраля 2013

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...