Springboot + Gradle интегрировать log4j2

Spring Boot

Исключите структуру журнала, которая поставляется с Springboot

Сам Springboot поставляется с инфраструктурой ведения журналов, а другие зависимости в проекте могут иметь структуры ведения журналов, поэтому другие среды ведения журналов необходимо отключить глобально в gradle.

configurations.all {
    exclude group:'org.springframework.boot', module: 'spring-boot-starter-logging'
    exclude module: 'logback-classic'
    exclude module: 'logback-core'
}

Обычно есть два способа исключить

способ 1

Если в build.gradle нет подпроекта, в файл ставится exclude, и он может быть на том же уровне, что и зависимости

Перед удалением:После удаления:

Способ 2

Если подпроект build.gradleSettings.gradle выглядит следующим образом, включая rootProject и несколько проектов.

rootProject.name = 'gradletest'
include 'app'
include 'module1'
include 'module2'

Затем исключение необходимо поместить в блок кода подпроектов, и оно вступит в силу для всех подпроектов (все объединенные подпроекты являются вашим проектом)

subprojects {
    // 省略其它内容
    configurations.all {
        exclude group:'org.springframework.boot', module: 'spring-boot-starter-logging'
        exclude module: 'logback-classic'
        exclude module: 'logback-core'
    }
}

Ввести зависимости log4j2

Если проект springboot наследует spring-boot-starter-parent и использует начальные зависимости, можно использовать зависимости log4j2 без добавления номера версии зависимости.

compile 'org.springframework.boot:spring-boot-starter-log4j2'

В противном случае вам нужно добавить номер версии зависимости

compile 'org.springframework.boot:spring-boot-starter-log4j2:2.4.0'

Добавьте файл log4j2-spring.xml

Добавьте файл конфигурации log4j2 в ресурс в соответствующем месте проекта.

Если вы настраиваете имя файла (включая имя файла log4j2.xml), вам необходимо настроить его в application.yml

logging:
  config: xxxx.xml

имя по умолчаниюlog4j2-spring.xml, используйте это имя без дополнительной настройки в application.yml

Как настроить log4j2-spring.xml можно посмотреть в другой моей статье

Файл конфигурации log4j2 не полностью проанализирован