Исключите структуру журнала, которая поставляется с 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 можно посмотреть в другой моей статье