log4j.xml в клиентских банках - PullRequest
5 голосов
/ 16 июня 2009

У меня есть несколько jar-файлов, которые будут распространяться среди клиентов, использующих log4j для ведения журнала. Мой вопрос должен ли я включить конфигурацию log4j.xml в файл jar или сделать так, чтобы клиент предоставил ее, если он хочет войти?

Я чувствую, что оставляю файл конфигурации log4j.xml из клиентских jar-файлов, поскольку все jar-файлы apache поставляются с log4j, но без log4j.xml.

Ответы [ 5 ]

9 голосов
/ 16 июня 2009

Да, оставь это. Это большая неприятность, когда ваш файл конфигурации log4j игнорируется, поскольку одна из 60 сторонних библиотек вашего приложения содержит свою собственную.

5 голосов
/ 16 июня 2009

Хорошая вещь о log4j в вашем случае состоит в том, что вашей банке действительно не нужно беспокоиться об этом. Основной вариант использования log4j:

  1. Получить объект логгера для текущего класса
  2. Вызовите один из методов этого регистратора, например, debug("some message");

Если банки, которые вы отправляете, будут использоваться более крупным приложением, то в идеале ваш код будет выполнять только два шага, перечисленных выше. Таким образом, ваш код будет просто получать объекты регистратора из уже настроенного экземпляра log4j в клиентском приложении. Ваш производственный код будет отделен от необходимости знать, как настроить log4j.

Любое ведение журнала, которое вам нужно увидеть для разработки jar-файлов, может быть выполнено путем настройки экземпляра log4j в методах setUp () модульного теста или чего-то подобного, что не будет связано с производственным кодом, отправляемым клиенту. *

2 голосов
/ 16 июня 2009

Я бы добавил конфигурацию log4j по умолчанию, которая, как вы ожидаете, будет полезна для ваших клиентов в документации. Таким образом, заинтересованные люди могут увидеть, какие у вас есть варианты ведения журнала (обычно в определенных классах есть более интересные сообщения журнала, с точки зрения пользователя). Я нахожу это раздражающим, когда у меня есть сторонняя библиотека, использующая log4j, и у нее нет документации, и на моем экране появляются сообщения журнала, и я должен попытаться выяснить, как включить или отключить определенные сообщения журнала.

0 голосов
/ 16 июня 2009

Я бы добавил конфигурационный xml и загрузил бы его с инструкцией для пользователя, показывающей другую конфигурацию и опции. Это облегчит для них или для поддержки включение журналирования дополнений.

0 голосов
/ 16 июня 2009

Если вы используете log4j в своем приложении, вы включаете его в свой проект. Если это не так, то зачем вам это туда вставлять? Что, если клиент A хочет версию 1.2 log4j, а клиент B хочет версию 1.3 log4j.

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

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