Я использую spring-boot-starter
и хотел бы настроить log4j2.xml
для записи асинхронного + другого контента в разные лог файлы.
Я создал файл log4j2, но Spring
по-прежнему использует запись по умолчанию spring -boot. Как включить регистрацию?
Я использую spring-boot-starter
и хотел бы настроить log4j2.xml
для записи асинхронного + другого контента в разные лог файлы.
Я создал файл log4j2, но Spring
по-прежнему использует запись по умолчанию spring -boot. Как включить регистрацию?
У меня есть лучший способ:
Исключить регистратор журнала:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
Добавить стартер загрузки log4j2:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
Наслаждайтесь!
Попробуйте следующее:
Исключить spring -boot-startter-logging, например
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
Добавьте зависимости для вашего интерфейса ведения журнала, например. SLF4J
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0.2</version>
</dependency>
Добавьте другие реализации ведения журнала, указывающие на выбранный интерфейс ведения журнала, например
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
</dependency>
Добавьте реализацию целевого ведения журнала, например.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0.2</version>
</dependency>
И он должен работать.
Это то, что сработало для меня. Имея два дополнительных исключения. Else Application не собирал log4j и имел конфликт
Фактическое связывание имеет тип [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
<exclusion>
<artifactId>logback-classic</artifactId>
<groupId>ch.qos.logback</groupId>
</exclusion>
<exclusion>
<artifactId>log4j-over-slf4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>