Различие между logger.info и logger.debug

Между чем различие logger.debug и logger.info ?

Когда будет logger.debug быть распечатанными?

72
задан Oliver Lloyd 25 September 2014 в 17:48
поделиться

4 ответа

Это будет зависеть от конфигурации ведения журнала. Значение по умолчанию будет зависеть от используемой платформы. Идея состоит в том, что позже, изменив параметр конфигурации с INFO на DEBUG, вы увидите массу дополнительных (или меньше, если наоборот) строк, напечатанных без перекомпиляции всего приложения.

Если вы думаете, какой из них использовать, то все сводится к размышлениям о том, что вы хотите увидеть на каком уровне. Для других уровней, например, в Log4J, посмотрите API, http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html

25
ответ дан 24 November 2019 в 12:37
поделиться

Предлагаю вам посмотреть статью под названием «Краткое введение в log4j» . Он содержит краткое объяснение уровней журнала и демонстрирует, как их можно использовать на практике. Основная идея уровней журналов заключается в том, что вы хотите иметь возможность настраивать степень детализации журналов в зависимости от ситуации. Например, если вы пытаетесь устранить проблему, вам нужно, чтобы журналы были очень подробными. В производственной среде вы можете захотеть видеть только предупреждения и ошибки.

Уровень журнала для каждого компонента вашей системы обычно контролируется с помощью параметра в файле конфигурации, поэтому его легко изменить. Ваш код будет содержать различные операторы ведения журнала с разными уровнями. При ответе на исключение вы можете вызвать Logger.error . Если вы хотите распечатать значение переменной в любой момент, вы можете вызвать Logger.debug . Эта комбинация настраиваемого уровня ведения журнала и операторов ведения журнала в вашей программе позволяет вам полностью контролировать, как ваше приложение будет регистрировать свою активность.

По крайней мере, в случае log4j порядок уровней журнала следующий:

DEBUG < INFO < WARN < ERROR < FATAL

Вот небольшой пример из этой статьи, демонстрирующий, как работают уровни журнала.

   // get a logger instance named "com.foo"
   Logger logger = Logger.getLogger("com.foo");

   // Now set its level. Normally you do not need to set the
   // level of a logger programmatically. This is usually done
   // in configuration files.
   logger.setLevel(Level.INFO);

   Logger barlogger = Logger.getLogger("com.foo.Bar");

   // This request is enabled, because WARN >= INFO.
   logger.warn("Low fuel level.");

   // This request is disabled, because DEBUG < INFO.
   logger.debug("Starting search for nearest gas station.");

   // The logger instance barlogger, named "com.foo.Bar",
   // will inherit its level from the logger named
   // "com.foo" Thus, the following request is enabled
   // because INFO >= INFO.
   barlogger.info("Located nearest gas station.");

   // This request is disabled, because DEBUG < INFO.
   barlogger.debug("Exiting gas station search");
114
ответ дан 24 November 2019 в 12:37
поделиться

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

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

8
ответ дан 24 November 2019 в 12:37
поделиться

В чем разница между logger.debug и logger.info?

Это только некоторые уже определенные уровни по умолчанию. Вы можете определить свои собственные уровни, если хотите. Цель этих уровней - включить/выключить один или несколько из них, не внося никаких изменений в ваш код.

Когда будет выводиться logger.debug ??

Когда вы включили отладку или любой более высокий уровень в вашей конфигурации.

0
ответ дан 24 November 2019 в 12:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: