Объединение log4j.properties в библиотеку - плохой стиль или что?

Я наткнулся на небольшую инфраструктуру веб-запросов для Java: Spark. API выглядит красиво и многообещающе, но сам комплект библиотек довольно странный. Не говоря уже о том, что он предлагает использовать артефакты моментальных снимков в качестве зависимостей. Не говоря уже о том, что он использует log4j для ведения журнала (в настоящее время библиотеки, как правило, используют jcl или slf4j), а иногда и System.out.println. Но он объединяет свои собственные свойства log4j.properties в spark-xxx.jar. Мне потребовался час, чтобы выяснить, почему мой проект будет жаловаться на конфигурацию log4j, когда log4j.properties определенно присутствует в моем пути к классам. -Dlog4j.debug=true дал ответ, log4j признался, что он загрузил log4j.properties из jar-файла.

Интересно, имеет ли это (быть библиотекой и использовать log4j и связывать log4j.properties) какую-то мотивацию, или это просто отстой.


person zamza    schedule 06.08.2011    source источник
comment
Это может быть неподходящий форум для этого вопроса: если есть мотивация, ее лучше найти у авторов библиотеки.   -  person Nathaniel Ford    schedule 29.01.2013


Ответы (1)


Плохой стиль связывать log4j.properties с библиотекой.

Вы можете возразить, что искра ближе к серверу приложений (например, tomcat), и в этом случае она может настроить ведение журнала.

Я бы сказал, что тест заключается в том, что тот, кто управляет скриптом start (.sh | .bat), должен настроить ведение журнала, и что файлы конфигурации log4j почти никогда не должны находиться в банке.

person sbridges    schedule 06.08.2011