Проблема с иерархией логгеров - PullRequest
1 голос
/ 01 февраля 2010

Я пытаюсь создать иерархию логгеров в моем приложении. (Я использую стандартный java logger) Для этого я сначала создаю «дедушку» всех регистраторов простым вызовом: (в статическом блоке) Logger.getLogger ( "MyApplication"); Затем каждый конкретный регистратор запрашивает регистратор: Logger.getLogger ( "myapplication.package1.Main"); и я создаю своего отца Logger.getLogger ( "myapplication.package2");

Теперь я использую JConsole, чтобы использовать RMX для изменения уровня ведения журнала. Когда я вызываю getLoggerParentName для myapplication.package1.Main, я получаю myapplication.package1, а для myapplication.package1 - мое приложение.

Но установка уровня регистрации в myapplication не влияет на уровень ребенка. (Хотя установка уровня myapplication.package1 влияет на уровень логгера Main).

Как получилось? Я что-то пропустил? Насколько я вырыл в классе Logger, я думаю, что это должно работать ...

1 Ответ

0 голосов
/ 01 февраля 2010

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

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

Имеет ли myapplication.package1 явно установленный уровень? Что произойдет, если вы напечатаете результат getLevel () для каждого регистратора?

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