Категория странности Log4j - PullRequest
       19

Категория странности Log4j

1 голос
/ 08 сентября 2010

Я был разочарован, пытаясь разобраться с регистрацией в моем проекте. В частности, одна из сторонних библиотек, которую мы используем, имела один класс com.foo.bar.baz.java, который игнорировал любую конфигурацию в файле свойств для пакета com.foo.bar, вместо этого следуя свойствам всего приложения.

В конечном итоге, используя %c в макете шаблона, я узнал, что Log4J регистрирует его как Windows, а не как его пакет.

Что может быть причиной этого? Это замечательно доказывает Google.

Ответы [ 2 ]

2 голосов
/ 21 сентября 2010

Не забывайте, что, хотя использование полного имени класса является обычным соглашением, это не является обязательным требованием!

Автор вполне может использовать любую строку, которую он пожелает, в качестве имени Logger, и звучит так, как будто в этом случае они используют имя, основанное на компонентах.

1 голос
/ 11 сентября 2010

Может быть много причин, вызывающих это.Можете ли вы опубликовать свой файл конфигурации журнала?У вас есть проект с графическим интерфейсом?Вы (или сторонняя библиотека) пытаетесь войти в компоненты GUI?

Можете ли вы просмотреть файлы конфигурации log4j вашей сторонней библиотеки?


Чтобы ответить на ваш вопросиз-за того, что может быть причиной этого, на первый взгляд кажется, что они создали собственную реализацию ведения журнала, которая переопределяет ваши настройки.Есть много способов добиться этого.

Например, наше приложение на работе работает на Tomcat, и в файле server-config.xml есть раздел <logging>, который позволяет указать пользовательскую цель для ведения журнала длясервер.

В качестве другого примера, меня десятки раз укусили мошеннические commons-logging.properties файлы, которые могут изменять всю функциональность всей регистрации, всей прикладной программы, просто изменяя несколько свойств.Кроме того, эти файлы задают флаг приоритета, и, если какой-либо файл свойств найден в пути к классам с более высоким приоритетом, чем в вашем проекте, он имеет приоритет!


В целом, существует множество потенциальных проблемВот.Для большей помощи мне понадобится немного больше информации.
...