Нет, вам не нужно , чтобы сделать это, , но это привычная и хорошая практика.Log4j был построен вокруг этого предположения, что люди будут использовать его таким образом.Это дает вам бесплатно местоположение места, где было создано событие журнала, а также простое администрирование уровня журнала для целых ветвей регистраторов.
Теоретически, вы можете разделить регистратор между несколькими классами, илидаже есть только один глобальный;Logger
потокобезопасен, и в любом случае он должен синхронизироваться при добавлении объекта, чтобы ваша производительность не пострадала.Вы также можете назвать его как угодно, не нужно использовать имя класса.Однако не рекомендуется, по той причине, о которой я говорил выше.
Кроме того, вам не нужно указывать ссылку static
, поскольку log4j следит за тем, чтобы вы могли создать только один регистратор с заданным именем.вы не тратите память, храня ее в переменной экземпляра.