Проект внутри SpringBoot 2.6.0 работает, вынужден использовать Log4J1 и перенаправление JCL, но JUL нет

У меня есть проект, в котором последняя сборка теперь SpringBoot 2.6.0 (а более старая - WAR для Tomcat 8). У меня есть подпроект/компонент, который подключается к вещам, которые заставляют меня использовать Log4J1. Logback работал прекрасно, но мне пришлось отключить его (из-за затмения Log4J2 и нарушения кода, требующего Log4J1, а также нового компонента поставщика, требующего также Log4J2).

у меня есть:

  1. отключил Logback, исключив spring-boot-starter-logging
  2. Добавлена ​​зависимость для spring-boot-starter-log4j.

На вкладке «Иерархия зависимостей» (в Eclipse) я вижу библиотеки jcl и jul, а в моих журналах (приложения консоли и файла) ясно, что SpringBoot (материал jcl) и любой из моих вызовов jcl проекта регистрируется, но любой JUL нет.

Я прочитал здесь множество разных билетов, собрал информацию и добрался до этого места. Так что все хорошо, за исключением того, что я не могу передать вызовы JUL настройке Log4J1.

Я вижу, как jul-to-slf4j вводится через spring-boot-starter-log4j.

Я думал, что напишу здесь, так как я уверен, что это что-то простое, что я пропустил, но я думаю, что слишком долго смотрел на это сегодня днем! :)

Что я пропустил?

              <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j</artifactId>
        <version>1.3.8.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.32</version>
    </dependency>   
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.7.32</version>
    </dependency>   

1 ответ

Я получил передачу битов JUL, добавив это:

      SLF4JBridgeHandler.install();
java.util.logging.LogManager.getLogManager().getLogger("").setLevel( Level.INFO);

Который я нашел по вопросу JUL to SLF4JBridge

Другие вопросы по тегам