Как включить ведение журнала уровня DEBUG со встроенной Jetty?

Я пытаюсь установить уровень ведения журнала DEBUG во встроенном экземпляре Jetty.

В документации на http://docs.codehaus.org/display/JETTY/Debugging говорится к -

вызовите SystemProperty.set ("DEBUG", "true") перед вызовом new org.mortbay.jetty.Server ().

Я не уверен, что это за класс SystemProperty, похоже, он нигде не задокументирован. Я пробовал System.setProperty(), но это не помогло.


person HolySamosa    schedule 10.02.2012    source источник
comment
Какая версия Jetty? Какие фреймворки для ведения журнала используются в пути к классам?   -  person Tim    schedule 11.02.2012
comment
Сейчас я использую Jetty 7.5.4, но реально могу использовать любую версию. Для ведения журнала я использую log4j для своего кода, отличного от Jetty, и просто позволяю SLF4J в JEtty по умолчанию использовать реализацию регистратора NOP (он записывает в консоль отладки, это все, что мне нужно).   -  person HolySamosa    schedule 13.02.2012


Ответы (4)


На мой вопрос в списке рассылки Jetty ответил Йоаким Эрдфельт:

Вы просматриваете старую документацию Jetty 6.x на docs.codehaus.org.

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

-D {classref} .LEVEL = {уровень}

Где {classref} - это ссылка на класс, для которого вы хотите установить уровень, и все ссылки на подклассы. а {level} - одно из значений ALL, DEBUG, INFO, WARN

Пример: -Dorg.eclipse.jetty.LEVEL = INFO - это включит ведение журнала уровня INFO для всех пакетов / классов пристани. -Dorg.eclipse.jetty.io.LEVEL = DEBUG - это включит ведение журнала уровня DEBUG только для классов ввода-вывода -Dorg.eclipse.jetty.servlet.LEVEL = ALL - это включит ВСЕ журналирование (события трассировки, внутренне игнорируемые исключения и т. Д.) ..) для пакетов сервлетов. -Dorg.eclipse.jetty.util.thread.QueuedThreadPool.LEVEL = ALL - это включит уровень ALL + только для определенного класса.

person HolySamosa    schedule 13.02.2012

Добавьте это

-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog 
-Dorg.eclipse.jetty.LEVEL=DEBUG

«Snap

person Apurva Singh    schedule 03.10.2016
comment
+1, это единственное решение, которое у меня сработало, хотя я не понимаю, зачем нужен первый вариант, чтобы второй работал ... - person Carlos Silva; 11.01.2017
comment
На это у меня ушло 4 часа, но вот оно. Спасибо. - person Richard; 07.06.2017

Если вы просто хотите быстро получать сообщения журнала в stderr, добавьте что-то вроде этого в командную строку java:

-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog -D{classref}.LEVEL=DEBUG
person ssasa    schedule 24.10.2012

Вы можете использовать этот фрагмент, чтобы включить ведение журнала:

import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.StdErrLog;
 .
 .
 .
StdErrLog logger = new StdErrLog();
logger.setDebugEnabled(true);
Log.setLog(logger);
person Daniel    schedule 03.08.2017