Подтвердить что ты не робот

Как отключить вывод отладки библиотеки Netty?

Я использую Netty (через Ning async HTTP library) для извлечения документов через HTTP. Это приводит к огромному количеству отладки, выводимой на консоль, как указано ниже для одного запроса документа.

Кто-нибудь знает, как отключить это? Мне действительно не нужно видеть этот вывод.

Я звоню из Scala, если это имеет значение.

15:07:14.273 [run-main] DEBUG c.n.h.c.p.n.NettyAsyncHttpProvider - 
Non cached request 
DefaultHttpRequest(chunked: false)
GET /api/search.json?q=foo HTTP/1.1
Host: www.documentcloud.org
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0

using Channel 
[id: 0x2839ca40]

15:07:14.930 [New I/O client worker #1-1] DEBUG c.n.h.c.p.n.NettyAsyncHttpProvider - 

Request DefaultHttpRequest(chunked: false)
GET /api/search.json?q=foo HTTP/1.1
Host: www.documentcloud.org
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0

Response DefaultHttpResponse(chunked: true)
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 10477
Connection: keep-alive
Vary: Accept-Encoding
Status: 200
X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 3.0.13
ETag: "4f8f766d639dd84d014dfee3abb45de2"
X-Runtime: 611
Cache-Control: private, max-age=0, must-revalidate
Server: nginx/1.2.1 + Phusion Passenger 3.0.13 (mod_rails/mod_rack)

15:07:14.941 [New I/O client worker #1-1] DEBUG c.n.h.c.p.netty.NettyConnectionsPool - Adding uri: http://www.documentcloud.org:80 for channel [id: 0x2839ca40, /10.5.165.61:56133 => www.documentcloud.org/75.101.159.206:80]

15:07:16.921 [New I/O client worker #1-1] DEBUG c.n.h.c.p.n.NettyAsyncHttpProvider - Channel Closed: [id: 0x2839ca40, /10.5.165.61:56133 :> www.documentcloud.org/75.101.159.206:80] with attachment com.ning.[email protected]63182c3d
15:08:13.924 [Timer-0] DEBUG c.n.h.c.p.netty.NettyConnectionsPool - Entry count for : http://www.documentcloud.org:80 : 0
4b9b3361

Ответ 1

Судя по сокращенным именам пакетов, мне кажется, что slf4j/logback используется для регистрации здесь. в этом случае попробуйте включить файл конфигурации logback.xml в свой путь к классам. что-то вдоль линий

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
    </root>

    <logger name="com.ning.http.client" level="WARN"/>
</configuration>

приведенный выше xml вызовет что-либо под com.ning.http.client(и вниз), чтобы опустить только предупреждения и хуже на вывод, который будет передан в system.out. что-нибудь еще оммит INFO + вы можете найти дополнительную информацию о настройке журнала здесь: http://logback.qos.ch/manual/configuration.html

Ответ 2

Поздняя публикация по старому вопросу, который я знаю, но недавно мне пришлось отключить раздражающие повторяющиеся записи уровня INFO, поступающие из netty:

[main] INFO com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Number of application worked threads is 16

В моем случае мне нужно было отключить его программно. Заглядывая в slf4j org.slf4j.impl.SimpleLogger(логгер-фасад, вызванный netty), я обнаружил простой способ управления уровнем журнала slf4j по умолчанию для всех экземпляров SimpleLogger в вашем собственном стартовом коде:

System.setProperty(SimpleLogger.DEFAULT_LOG_LEVEL_KEY, "warn");

или только для экземпляра журнала, который меня интересовал:

System.setProperty(SimpleLogger.LOG_KEY_PREFIX + "com.ning.http.client", "warn");

Значение может быть любым из "трассировки", "отладки", "информации", "предупреждения" или "ошибки", по умолчанию "информация".