Проблемы, выставляющие журналы клиента Http с Log4j2 - PullRequest
0 голосов
/ 27 мая 2019

Проблемы с отображением журналов HTTP-клиентов через Log4j2.Я был в состоянии выставить журналы с log4j v1, но он не работает с log4j2.

Проверены транзакционные зависимости http-клиента v4 и используется обычное ведение журнала.Поэтому я передал log4j-jcl.jar во время выполнения, так как это мост.Но это не работает

Используемые зависимости:

Зависимости Http:

<dependency>
                <groupId>com.dictao.util</groupId>
                <artifactId>dictao-util-net</artifactId>
                <version>${dictao.common.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.6</version>
           </dependency>
           <dependency>
            <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpmime</artifactId>
                <version>4.5.6</version>
           </dependency>

Зависимость моста:

<dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-jcl</artifactId>
  <version>2.11.2</version>
<scope>runtime</scope>
</dependency> 

Для Log4j1:

log4j.logger.org.apache.http.impl.conn=DEBUG 
log4j.logger.org.apache.http.impl.client=DEBUG 
log4j.logger.org.apache.http.client=DEBUG 
log4j.logger.org.apache.http=DEBUG 

Передача того же самого в Log4j2, но без результата.

Вывод: без ошибок и файл журнала не создается.

1 Ответ

1 голос
/ 27 мая 2019

Вам необходимо добавить log4j-core к вашим зависимостям

Log4j2 разделен на API и модуль ядра (тогда как log4j1 был монолитным).Когда вы добавляете свою зависимость от моста, вы транзитивно добавляете только log4j2 api, но нет действительного механизма ведения журнала (log4j-core модуль).

В подтверждение моих слов: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-jcl/2.11.2/log4j-jcl-2.11.2.pom

...