log4j 2 не показывает журналы зависимостей - PullRequest
0 голосов
/ 06 июня 2018

Я использую apache HttpClient для выполнения запроса POST:

CloseableHttpResponse response = HttpClients.createDefault().execute(request);

Я хочу увидеть запрос (и другие операторы журнала клиентской библиотеки apache) в журналах, но ямогу видеть только журналы моего приложения, никаких других журналов от какой-либо зависимости.

Вот мой log4j2.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Lambda name="Lambda">
            <PatternLayout>
                <pattern>%d %X{AWSRequestId} %t %-5p [%X{userId}] %c{1}:%L - %m%n</pattern>
            </PatternLayout>
        </Lambda>
    </Appenders>
    <Loggers>
        <Logger name="org.apache.http" level="debug">
            <AppenderRef ref="Lambda"/>
        </Logger>
        <Root level="debug">
            <AppenderRef ref="Lambda"/>
        </Root>
    </Loggers> 
</Configuration>

Используя этот ответ , я добавил следующее, но он по-прежнему не показывает журналы apache.

    <Logger name="org.apache.http.client" level="debug">
        <AppenderRef ref="Lambda"/>
    </Logger>
    <Logger name="org.apache.http.impl.client" level="debug">
        <AppenderRef ref="Lambda"/>
    </Logger>
    <Logger name="org.apache.http.impl.conn" level="debug">
        <AppenderRef ref="Lambda"/>
    </Logger>

Я могу подтвердить, что этот log4j2.xml используется log4j, потому что журналы следуют за <pattern>, который я написал.

Чего мне не хватает?Пожалуйста, помогите.

1 Ответ

0 голосов
/ 07 июня 2018

Добавление зависимости Commons Logging Bridge исправило ее: -

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-jcl</artifactId>
        <version>2.11.0</version>
    </dependency>

См. для получения более подробной информации.

...