Как настроить Gradle для использования разных файлов log4j.properties в разных средах?

У меня есть 3 профиля local, dev, prod и 3 разных файла log4j.properties. Как настроить Gradle для использования разных файлов свойств? Мне нужно что-то похожее на это Как настроить maven для использования разных файлов log4j.properties в разных средах


person Sonka    schedule 17.10.2016    source источник


Ответы (1)


Я рекомендую вам прочитать раздел о регистрации в ссылке на загрузку Spring. Вы действительно не должны создавать приложение, зависящее от среды. Вы должны использовать тот же артефакт и указывать переменные среды, чтобы указать уникальные характеристики для этой среды (Приложение Twelve-Factor — Собери, выпусти, запусти). В этом случае вы должны создать одно приложение, а затем в ситуациях, когда вы используете local, dev или prod, вы можете указать переменную среды для logging.config, которая указывает на другой файл log4j.properties, аналогично тому, как вы указываете свойство spring.profiles.active.

В справке по Logback даже есть специальный раздел, чтобы вести журнал по-разному для каждого профиля. Я знаю, что ваш первоначальный вопрос говорил о log4j.properties, но, возможно, это требует просмотра журнала. В разделе для Profile-Specific Конфигурация показывает, что вы можете настроить файл logging.config с разделами для разных профилей. Пример:

<springProfile name="staging">
    <!-- configuration to be enabled when the "staging" profile is active -->
</springProfile>

<springProfile name="dev, staging">
    <!-- configuration to be enabled when the "dev" or "staging" profiles are active -->
</springProfile>

<springProfile name="!production">
    <!-- configuration to be enabled when the "production" profile is not active -->
</springProfile>
person Shawn Clark    schedule 18.10.2016