Как отключить вывод отладки библиотеки 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
Ответы
Ответ 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");
Значение может быть любым из "трассировки", "отладки", "информации", "предупреждения" или "ошибки", по умолчанию "информация".