![](/img/trans.png)
[英]How to upload files using JDK 11 java.net.http.HttpClient?
[英]How to disable openJdk 11 java.net.http.HttpClient logging?
我正在使用來自 openJDK 11 的 httpclient,它帶有煩人的重復日志記錄。
這是它的樣子(我使用的是基於 Spring Boot 的應用程序):
2020-01-24 18:35:46,806 DEBUG [HttpClient-1-SelectorManager] : [HttpClient-1-SelectorManager] [3840s 992ms] HttpClientImpl(1) Next deadline is 3000 - []
2020-01-24 18:35:49,806 DEBUG [HttpClient-1-SelectorManager] : [HttpClient-1-SelectorManager] [3843s 992ms] HttpClientImpl(1) next timeout: 0 - []
我試圖通過將以下條目添加到 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.util.logging.LogManager.getLogManager().reset();
以我的主要方法修復它!
該記錄器的名稱是“jdk.internal.httpclient.debug”。 它只接收 DEBUG 級別的跟蹤,因此除非您的應用程序(或框架?)默認啟用調試跟蹤,否則不應出現跟蹤,這是一件非常奇怪的事情。
嘗試類似:
<logger name="jdk.internal.httpclient.debug" level="WARN" />
嘗試使用系統屬性運行您的應用程序:
java -Djdk.internal.httpclient.debug=false
我處理日志級別的解決方案是創建一個新的“java.util.logging.Logger”並將記錄器設置為 info:“logger.setLevel(Level.INFO)”。
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);
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.