2009-12-02 3 views
1

Я использую Java Logger в первый раз и заметил, что можно установить уровень ведения журнала либо через handler.setLevel(...), либо через logger.setLevel(...). Хотя я не могу найти разницы. Есть ли разница? И если есть, то, что это рекомендуемый способ сделать это?Установить уровень ведения журнала в обработчике или журнале?

ответ

3

Регистратор связан с определенным классом. Однако вы можете иметь несколько обработчиков, связанных с этим регистратором. Если вы установите уровень «обработчик» вместо уровня регистратора, вам просто нужно убедиться, что вы устанавливаете правильный обработчик. Если вы не используете несколько обработчиков и не нуждаетесь в тонком уровне детализации в вашем протоколировании, было бы лучше всего, если бы вы только скорректировали уровень регистратора и оставили обработчики в одиночку.

Отъезд this article. Он дает хорошее описание того, как обработчики и регистраторы работают вместе.

+0

Большое спасибо, это действительно подробное объяснение, которое вы там связали. Лучше, чем те, которые я нашел. Я даже не думал об использовании нескольких обработчиков с разными уровнями. Это действительно имеет большой смысл. Фактически я только что реализовал это, поэтому на консоли отображаются только предупреждения, в то время как loggile также записывает информацию. Кроме того, чтобы добавить к вашему ответу, хорошая причина, по которой я теперь обнаружил, что не устанавливает уровень в обработчике, заключается в том, что обработчики по умолчанию все равно поймут информацию +. – janb

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