Получить файл конфигурации slf4j из внешнего файла войны
Где я могу сохранить конфигурационный файл SLF4J, чтобы к нему могли иметь доступ все производственные и тестовые среды? Я хочу сохранить файл конфигурации вне веб-приложения в произвольном месте и получить его после запуска. Я также хочу разрешить изменение местоположения файла конфигурации, поэтому нет пути к классам. Я думаю об использовании методов получения и установки для получения пути к файлу.
Есть идеи??
2 ответа
slf4j - это (для всех практических целей) просто API. Вам нужен бэкэнд, который выполняет реальную работу.
Если вы используете logback, вы можете отправить файл logback.xml вместе с вашим приложением, который просто включает другой файл. Если я правильно помню, строка имени файла может содержать ${variable}
который вы можете определить за пределами вашего приложения.
См. https://logback.qos.ch/manual/configuration.html.
Вы можете указать расположение файла конфигурации по умолчанию с помощью системного свойства с именем "logback.configurationFile". Значением этого свойства может быть URL, ресурс на пути к классу или путь к файлу, внешнему по отношению к приложению.
java -Dlogback.configurationFile=/path/to/config.xml chapters.configuration.MyApp1