log4j2 ведение журнала для Java SDK - PullRequest
0 голосов
/ 31 марта 2019

Допустим, мы собираем Java SDK, и различные проекты могут потреблять его, добавив его в качестве jar-файла в classpath или добавив его в качестве зависимости в файл maven pom.xml или gradle.Журналы из SDK не видны во время выполнения, когда другие проекты используют эту библиотеку.Я пробовал с SL4J, и ни один из журналов не виден во время выполнения, когда он используется другими проектами.Должен ли я пойти с log4j2?Если да, я должен предоставить файл конфигурации / свойств log4j в моем SDK?Будут ли свойства / конфигурация извлечены во время выполнения из пользовательских библиотек?Каковы лучшие практики для этого?Подскажите пожалуйста?

1 Ответ

1 голос
/ 01 апреля 2019

Рекомендация № 1: никогда не включайте файл конфигурации регистрации в ваш jar.

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

...