Уменьшите шум ведения журнала от org.apache.http.client при использовании log4j2.

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

Согласно https://hc.apache.org/httpcomponents-client-ga/logging.html я должен иметь возможность управлять через log4j (хотя они дают примеры только для log4j, а не для log4j2).

в моем файле журнала есть такие записи, как

16 сентября 2017 г., 9:01:32 org.apache.http.client.protocol.ResponseProcessCookies processCookies ПРЕДУПРЕЖДЕНИЕ. Неверный заголовок файла cookie: «Set-Cookie: visid_incap_661002=+HabQKJHRbKzy; expires=Sun, 16 Sep 2018 11:41:58 GMT; путь=/; домен=.mydomain.com". Недопустимый атрибут «expires»: воскресенье, 16 сентября 2018 г., 11:41:58 по Гринвичу.

Я пытаюсь подавить все ПРЕДУПРЕЖДЕНИЯ от org.apache.http.client В некоторых статьях говорится, что клиент на самом деле использует org.apache.http.wire , но ничего из того, что я пробовал, похоже, не работает.

это мой log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
    <Appenders>
        <RollingFile name="fileLogger" fileName="${basePath}/app-info.log" filePattern="${basePath}/app-info-%d{yyyy-MM-dd}.log">
            <PatternLayout>
                <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
            </Policies>
        </RollingFile>

        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout   pattern="[%L][%-5level] %d{yyyy-MM-dd HH:mm:ss} [%t] %c{1} - %msg%n" />
        </Console>
    </Appenders>
    <Loggers>

        <logger name="org.apache.http.client" level="ERROR" />
        <logger name="org.apache.http.wire" level="ERROR" />
        <logger name="org.apache.commons.httpclient" level="ERROR" />
        <logger name="ntapp" level="debug" additivity="true">
           <appender-ref ref="fileLogger" level="INFO" />
        </logger>
        <Root level="INFO" additivity="false">
            <appender-ref ref="console" />
        </Root>

    </Loggers>
</Configuration>

Спасибо за любую помощь


comment
Предоставленный вами журнал не соответствует ни одному из шаблонов, найденных в файле конфигурации. Можете ли вы дать правильный журнал? Или правильный файл конфигурации?   -  person sazzad    schedule 17.09.2017
comment
привет, sazzad, одну вещь, которую я забыл указать в примере, было мое приложение (ntapp, и я добавил его в пример). этот log4j2.xml находится в пути к классам, и я знаю, что приложение использует его правильно из-за того, что я получаю в консоли. я также получаю в консоли, когда я запускаю приложение, сообщения, как показано в описании с http, и это то, от чего я пытаюсь избавиться, спасибо   -  person randy    schedule 17.09.2017
comment
хорошо, ЕСЛИ предоставленный вами журнал - это именно то, что вы получаете, тогда это не делается через log4j2 (поскольку шаблоны не совпадают). Итак, я не думаю, что вы сможете подавить log4j2.   -  person sazzad    schedule 17.09.2017


Ответы (1)


Так что эта статья кажется правильным способом решить мою проблему, и это так и было.

Статья Stackoverflow - Решение моей проблемы

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

person randy    schedule 19.09.2017