2009-08-20 3 views
0

Я унаследовал некоторый Java-код, который выполняет некоторую проверку нашего сервера XMLRPC. Все идет нормально. Часть этого кода относится к остановке сервера (несколько повторений «проверьте, все ли сервер там, и если это так, отправьте команду для завершения»).Подавление/контроль регистрации в org.apache.xmlrpc.XmlRpcClient?

Как отключается сервер, некоторые из них «есть ли еще сервер?» и/или «сказать, чтобы отключить», запросы могут потерпеть неудачу в середине операции, из-за чего XMLRPC lib apache выписывает некоторое предупреждение для stderr (например, "INFO: I/O exception (org.apache.commons.httpclient.NoHttpResponseException) caught when processing request: The server 127.0.0.1 failed to respond"). Эти сообщения абсолютно не имеют отношения к нам, но причина нашей системы CI вызывает беспокойство.

Есть ли способ подавить такие информационные сообщения (желательно программно, чтобы мы только подавляли их при выключении) в этом модуле Apache?

Приложение включает в себя commons-logging-1.1.jar в своем пути к классам, так что это может быть то, что используется. Но это все еще не говорит мне как сделать это программно.

+1

Ваша система CI беспокоится о сообщениях уровня INFO. Я бы предположил, что это ваша проблема прямо там. – skaffman

+0

Ну, даже я беспокоился о том, что текст «исключение пойман» в выходном потоке тестового приложения. это происходит во время срывания. –

ответ

0

Я согласен с комментарием скаффмана, но вам не нужно делать это программно - просто изменив конфигурацию сервера. (Как именно, зависит от вашего сервера.)

Если вы сделать должны сделать это программно, точный код будет зависеть от реализации основной регистрации (например, log4j или java.util.logging, но это будет что-то вроде

//The logger name is usually the fully-qualified class name 
Logger logger = Logger.getLogger("logger-name-which-you-want-to-keep-quiet"); 
logger.setLevel(Level.ERROR); // or whatever - this will suppress lower levels 
+0

Моя проблема в том, что я не знаю, шляпа underlyin g logging - как это узнать? И как зовут регистратор, я хочу молчать? Я не имею понятия об этих мегабайтах кода Java, чтобы сделать некоторые тривиальные вызовы HTTP REST, а мой Google foo слишком плох, чтобы найти что-нибудь разумное. –

+0

Чтобы найти, какую реализацию каротажа, посмотрите на банки, используемые вашим сервером apps и webapp. Чтобы найти имя регистратора, если это не 'org.apache.commons.httpclient', тогда проверьте свои журналы, чтобы узнать, напечатано ли там имя. –

 Смежные вопросы

  • Нет связанных вопросов^_^