Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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
如何禁用openJdk 11 java.net.http.HttpClient日志记录?_Java_Logging_Httpclient_Java Http Client - Fatal编程技术网

如何禁用openJdk 11 java.net.http.HttpClient日志记录?

如何禁用openJdk 11 java.net.http.HttpClient日志记录?,java,logging,httpclient,java-http-client,Java,Logging,Httpclient,Java Http Client,我正在使用openJDK 11中的httpclient,它附带了一个恼人的重复日志记录 下面是它的样子(我使用的是基于spring boot的应用程序): 我试图通过向logback-spring.xml添加以下条目来禁用它,但没有成功: <logger name="httpclient" level="WARN" /> <logger name="jdk.internal.net.http" level="WARN" /> <logger name="HttpCl

我正在使用openJDK 11中的httpclient,它附带了一个恼人的重复日志记录

下面是它的样子(我使用的是基于spring boot的应用程序):

我试图通过向logback-spring.xml添加以下条目来禁用它,但没有成功:

<logger name="httpclient" level="WARN" />
<logger name="jdk.internal.net.http" level="WARN" />
<logger name="HttpClientImpl" level="WARN" />

<logger name="java.net.http.HttpClient" level="WARN" />
<logger name="HttpClient" level="WARN" />
<logger name="HttpClient-1-SelectorManager" level="WARN" />


感谢您的帮助

尝试使用系统属性运行您的应用程序:

java -Djdk.internal.httpclient.debug=false

添加
java.util.logging.LogManager.getLogManager().reset()以我的主要方法修复它

该记录器的名称是“jdk.internal.httpclient.debug”。它只接收调试级别的跟踪,因此跟踪不应该出现,除非您的应用程序(或框架?)默认启用调试跟踪,这是一件非常奇怪的事情

尝试以下方法:

<logger name="jdk.internal.httpclient.debug" level="WARN" />

我处理日志级别的解决方案是创建一个新的“java.util.logging.Logger”,并将记录器设置为info:“Logger.setLevel(level.info)”


很抱歉,这没有解决问题;我想知道切换到commons httpclient是否更好。。。
<logger name="jdk.internal.httpclient.debug" level="WARN" />
import java.util.logging.Logger;
import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Level;

private Logger logger;
private FileHandler fileHandler;
private ConsoleHandler consoleHandler;
private LogFileFormater logFileFormater;
private final int FILE_SIZE = 10240000; //10MB

public class LogFileHandler {

    logger = Logger.getLogger("");
    logFileFormater = new LogFileFormater();

        File logfile = new File("example.log");
        fileHandler = new FileHandler(logfile.getAbsolutePath(), FILE_SIZE, 1, true); //log to file
        consoleHandler = new ConsoleHandler(); //log to console

        fileHandler.setFormatter(logFileFormater);
        consoleHandler.setFormatter(logFileFormater);

        logger.addHandler(fileHandler);
        logger.addHandler(consoleHandler);

        logger.setUseParentHandlers(false);
        logger.setLevel(Level.INFO);

...