如何输出JDK 11自带的 java.net.http.HttpClient 的日志信息?
1 个回答
![](/public/image/default-avatar.png)
// 在初始化 HttpClient 前先运行如下命令
System.setProperty("jdk.httpclient.HttpClient.log", "all");
在初始化前先执行上述代码,即可输出 JDK 自带 HttpClient 的所有log信息。
"all"相当于"content,headers,requests,frames,errors,trace,ssl,channel"的日志集合。
"frames"可分别更进一步细化指定为"frames[:control:data]",中括号内支持"control"、 "data"、 "window"、"all" 等 frame type。
如果你作为开发者,还想调试并尝试定位修复 HttpClient 实现的bug,你可以通过运行如下代码输出更多调试细节信息。
System.setProperty("jdk.internal.httpclient.debug", "true");
当然,在启动JDK的时候,也可以通过命令行指定上述选项参数,例如:-Djdk.httpclient.HttpClient.log=errors,requests,headers,frames
或 -Djdk.internal.httpclient.debug=true
。