Самудра Гупта объясняет в своей книге 1 :
Logger
Объект является основным объектом , который разработчик приложения использует для входа любого сообщения. Эти Logger
объекты , действующие в пределах конкретного экземпляра приложения следуют иерархии родитель-потомок .
Если у вас следующая конфигурация:
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.logger.com.me.proj2=INFO
Вот как может выглядеть иерархия логгеров: 2
Самудра Гупта продолжает объяснять:
На вершине иерархии находится корневой регистратор. Корневой регистратор существует за пределами любой пользовательской иерархии регистратора, которую мы можем придумать. Он всегда существует как корневой регистратор для всех возможных иерархий регистраторов и не имеет пространства имен. Все другие Logger
объекты, зависящие от приложения, являются дочерними объектами корневого регистратора. Родительско-дочерние отношения регистраторов обозначают зависимость регистраторов, действующих в одном приложении. Дочерний регистратор может рекурсивно наследовать свойства от своего родительского регистратора вверх по дереву. Обычно дочерний регистратор наследует следующие свойства от своего родительского регистратора (ов):
Level
: Если для дочернего регистратора не указан явный уровень дерева, он будет использовать уровень своего ближайшего родителя или первый надлежащий уровень, который он найдет рекурсивно вверх по иерархии.
Appender
: Если к регистратору не прикреплен аппендер, дочерний регистратор использует приложение своего ближайшего родительского регистратора или первое приложение, которое он находит рекурсивно вверх по дереву.
ResourceBundle
: ResourceBundles
- это файлы свойств шаблона "ключ-значение", используемые для локализации сообщений журнала. Дочерний регистратор наследует все, что ResourceBundle
связано с его родительским регистратором.
ПРИМЕЧАНИЯ
1 Самудра Гупта, Pro Apache Log4j, второе издание (Беркли, Калифорния: Apress, 2005), 24-25, ISBN13: 978-1-59059-499-5
2 Dominic Mitchell, Logging in Java , http://happygiraffe.net/blog/2008/09/03/logging-in-java/ , дата обращения 26 мая 2014 г.