2017-02-01 2 views
0

Где я могу сохранить конфигурационный файл SLF4J, чтобы все производственные и тестовые среды могли иметь к нему доступ? Я хочу сохранить файл конфигурации вне веб-приложения в произвольном месте и получить это место при запуске. Я также хочу разрешить изменение местоположения файла конфигурации, поэтому нет пути к классам. Я думаю об использовании геттеров и сеттеров для получения пути к файлу.Извлечь конфигурационный файл slf4j из внешнего файла войны

Любые идеи?

+0

В частности, что конфигурационный файл вы спрашиваете о? – Kenster

ответ

0

slf4j (для всех практических целей) только API. Вам нужен бэкэнд, который выполняет фактическую работу.

Если вы используете logback, вы можете отправить файл logback.xml с вашим приложением, которое включает только другой файл. Если я правильно помню, строка имени файла может содержать ${variable}, которую вы можете определить вне своего приложения.

0

См

Вы можете указать местоположение файла конфигурации по умолчанию с именем системного свойства «logback.configurationFile». Значением этого свойства может быть URL-адрес, ресурс в пути к классу или путь к файлу, внешнему по отношению к приложению.

java -Dlogback.configurationFile=/path/to/config.xml chapters.configuration.MyApp1

+0

В проекте используется datanucleus, который использует log4j так, чтобы использовать logback. Где я могу поместить файл конфигурации log4j за пределы приложения и как я могу получить расположение файла конфигурации без жесткого кодирования classpath? – thall

+0

См. Https://logging.apache.org/log4j/2.x/manual/configuration.html: Log4j проверит системное свойство log4j.configurationFile и, если установлено, попытается загрузить конфигурацию с помощью ConfigurationFactory, которая соответствует расширению файла. – chaim

Смежные вопросы