Правильный способ объявить log4j - PullRequest
2 голосов
/ 24 февраля 2011

Я бы хотел получить разъяснения по поводу следующего:

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

public final static Logger logger = Logger.getLogger(ClassName.class);

Я думал....

Почему это публично?Почему принято делать его общедоступным?
- Регистратор никогда не используется повторно вне класса, в котором он был создан

Может ли быть общий регистратор, используемый в программе вместокласс поддерживает свой собственный?
- Похоже, ClassName используется как часть ведения журнала только для того, чтобы указать, ЧТО класс сказал, что.Возможно, вместо этого можно передать ссылку на имя класса в регистратор.

Пожалуйста, помогите мне уточнить

1 Ответ

1 голос
/ 24 февраля 2011

Единственная причина сделать его общедоступным, если вы хотите, чтобы было повторно использовано за пределами класса.

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

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