Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何关闭Netty库调试输出?_Java_Scala_Netty_Error Logging - Fatal编程技术网

Java 如何关闭Netty库调试输出?

Java 如何关闭Netty库调试输出?,java,scala,netty,error-logging,Java,Scala,Netty,Error Logging,我使用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.jso

我使用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

根据缩写的包名判断,在我看来,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>


我知道有一个老问题发布得很晚,但最近我不得不关闭netty令人讨厌的重复信息级别日志记录:

[main] INFO com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Number of application's worked threads is 16
在我的例子中,我需要以编程方式禁用它。查看slf4j org.slf4j.impl.SimpleLogger(netty称之为logger facade),我发现了一种简单的方法,可以在您自己的启动代码中控制所有SimpleLogger实例的默认slf4j日志级别:

System.setProperty(SimpleLogger.DEFAULT_LOG_LEVEL_KEY, "warn");
或者仅针对我感兴趣的记录器实例:

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

该值可以是“跟踪”、“调试”、“信息”、“警告”或“错误”中的任意一个,默认值为“信息”

如果您使用的是Scala调度库,这也适用于Scala项目。把它放在同一个位置
src/main/resources
Awesome!为我工作