Как я могу отключить вход в Restlet 2.0? - PullRequest
2 голосов
/ 30 августа 2010

Я просто хочу отключить ведение журналов Рестлета в stdout / stderr в моем проекте и переслать все журналы Рестлета через фасад SLF4J, предоставленный org.restlet.ext.slf4j Есть простой способ сделать это?

Ответы [ 6 ]

3 голосов
/ 10 февраля 2011

Это то, что я сделал, чтобы отключить запись в STDERR и переслать запись в log4j.По сути, это просто базовый класс, на котором основаны все рестлеты.Он установит мост log4j, найдет обработчик консоли и отключит его.Работает для меня, но не может быть лучшим решением, поэтому, если у кого-то есть лучшее решение, которое не требует внешней настройки, пожалуйста, сообщите мне.

3 голосов
/ 06 октября 2010

Сначала вы должны настроить SLF4J для перехвата всех вызовов Рестлета в API java.util.logging и сопоставления их с вызовами в API фасада SLF4J. Вы просто делаете это, помещая jul-to-slf4j.jar в ваш путь к классам, как заметил @Bruno.

Во-вторых, вы должны сконфигурировать фасад SLF4J, чтобы переадресовывать его вызовы API в реализацию журналирования для фактической генерации сообщения журнала. Чтобы использовать реализацию ведения журнала Logback, вы помещаете logback-classic.jar в ваш путь к классу

Наконец, вы должны настроить выбранную реализацию ведения журнала. Если вы используете Logback, вы можете настроить уровень регистрации отдельных Logger , используя XML .

Мы используем SLF4J с Restlet, и нам действительно нравится, как SLF4J объединяет все различные API журналирования в один. Это очень мило.

Редактировать 29 апреля 2019 года. Обязательно проверьте комментарии @NaftuliKay и @ stempler.

1 голос
/ 16 августа 2013

Мне удалось отключить надоедливую регистрацию в рестлете:

Component component = new Component();

// Disable damn log
component.setLogService(new org.restlet.service.LogService(false));

...

0 голосов
/ 25 августа 2014

Программная конфигурация

Engine.setRestletLogLevel(Level.OFF);

Подробности: http://restlet.com/learn/guide/2.2/editions/jse/logging

Начиная с версии 2.1, теперь можно программно изменять уровень журнала, используя Engine # setLogLevel (…) и setRestletLogLevel (…) Статические методы.Также возможно включить выборочное ведение журнала вызовов, установив свойство Request # loggable или переопределив метод LogService # isLoggable (Request).

0 голосов
/ 22 февраля 2012

Что-то здесь не так: если у вас есть ссылки на org.restlet.ext.slf4j.jar, slf4j-api.jar, logback-core.jar и logback-classic.jar, у вас уже есть все, что вам нужноотключить ведение журнала в sdout и stderr.Просто измените файл конфигурации (logback.xml), чтобы не добавлять к ним.

При этой конфигурации рестлет использует slf4j "изначально", и применяется обычная конфигурация slf4j.

Также,org.restlet.ext.slf4j.jar устраняет необходимость в jul-to-slf4j.jar, который в любом случае может нанести серьезный удар по производительности.

0 голосов
/ 03 сентября 2010

Я склонен использовать мост jul-to-slf4j , но вы можете получить другие конфигурации, как описано в Restlet Wiki .

...