18

Nettyを使用して(Ning非同期HTTPライブラリを介して)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.http.client.providers.netty.NettyAsyncHttpProvider$DiscardEvent@63182c3d
15:08:13.924 [Timer-0] DEBUG c.n.h.c.p.netty.NettyConnectionsPool - Entry count for : http://www.documentcloud.org:80 : 0
4

2 に答える 2

27

省略されたパッケージ名から判断すると、ここでログを記録するために 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 にストリーミングされます。logback の設定に関する詳細は、http://logback.qos.ch/manual/configuration.html で確認できます

于 2012-08-07T19:31:58.637 に答える
5

私が知っている古い質問の投稿が遅れましたが、最近、netty からの迷惑な繰り返しの INFO レベルのログをオフにする必要がありました。

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

私の場合、プログラムで無効にする必要がありました。slf4j org.slf4j.impl.SimpleLogger (netty によって呼び出されるロガー ファサード) を調べると、独自のスタートアップ コードですべての SimpleLogger インスタンスのデフォルトの slf4j ログ レベルを制御する簡単な方法を発見しました。

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

または、私が興味を持っていたロガーインスタンスのみ:

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

値は、「trace」、「debug」、「info」、「warn」、または「error」のいずれかで、デフォルトは「info」です。

于 2014-05-18T06:42:04.770 に答える