Java: каков будет предложенный способ контроля уровня многословности (диагностических сообщений) в пакете? - PullRequest
0 голосов
/ 28 марта 2012

Я довольно новичок в Java, поэтому ищу хороший способ контроля количества диагностического вывода, который будет выдаваться пакетом во время выполнения.

Итак, предположим, у меня есть пакет, который интегрируется в разные программы.Для простоты предположим, что я хочу либо не выдавать диагностический вывод во время выполнения, либо производить вывод, который будет отправлен в System.out.Вопрос заключается в том, какой самый элегантный и надежный способ сделать это.

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

Есть ли лучший способ?

Спасибо!

Ответы [ 5 ]

1 голос
/ 28 марта 2012
1 голос
/ 28 марта 2012

Используйте любой из множества доступных пакетов журналов, включая java.util.logging или log4j . Затем вы можете настроить его во время выполнения очень просто, для каждого пакета отдельно. Это также означает, что в то время как вы можете направлять журналы на System.out, у вас также будут доступны более сложные варианты.

0 голосов
/ 28 марта 2012

Вы должны использовать ведение журнала.Это очень важный аспект при разработке проекта.Я предлагаю вам проверить следующие советы:

http://javarevisited.blogspot.de/2011/05/top-10-tips-on-logging-in-java.html

Обычно в обычных и больших проектах Java используется каркас ведения журналов, например Log4j

0 голосов
/ 28 марта 2012

Вы можете использовать Log4J для вставки операторов регистрации в ваш код и включения или выключения их при необходимости.

0 голосов
/ 28 марта 2012

Вы должны взглянуть на логирование. Log4j является одним примером.Избегайте использования System.out.println s в вашем коде полностью.

С помощью log4j вы можете настроить что-то похожее на приведенное ниже, что отключит все выходные данные регистрации, которые создает пакет com.foo.mypackage.

log4j.logger.com.foo.mypackage=OFF

Когда вы пройдете этот этап, я предлагаю вам взглянуть на SLF4J и Logback .

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