To enable JDK internal logging, we need to simply assign a suitable logging level to the desired logger name. Following example shows how to enable HttpURLConnection internal logging.
Example
src/main/resources/logging.propertieshandlers= java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = ALL
sun.net.www.protocol.http.HttpURLConnection.level=ALL
The main class
package com.logicbig.example;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class ExampleMain {
static {
String path = ExampleMain.class.getClassLoader()
.getResource("logging.properties")
.getFile();
System.setProperty("java.util.logging.config.file", path);
}
public static void main(String[] args) throws Exception {
URL url = new URL("http://www.example.com/");
URLConnection yc = url.openConnection();
try (BufferedReader in = new BufferedReader(new InputStreamReader(
yc.getInputStream()))) {
// do something
// in.lines().forEach(System.out::println);
}
}
}
OutputNov 25, 2017 8:20:23 PM sun.net.www.protocol.http.HttpURLConnection plainConnect0 FINEST: ProxySelector Request for http://www.example.com/ Nov 25, 2017 8:20:23 PM sun.net.www.protocol.http.HttpURLConnection plainConnect0 FINEST: Proxy used: DIRECT Nov 25, 2017 8:20:23 PM sun.net.www.protocol.http.HttpURLConnection writeRequests FINE: sun.net.www.MessageHeader@610455d65 pairs: {GET / HTTP/1.1: null}{User-Agent: Java/1.8.0_65}{Host: www.example.com}{Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2}{Connection: keep-alive} Nov 25, 2017 8:20:23 PM sun.net.www.http.HttpClient logFinest FINEST: KeepAlive stream used: http://www.example.com/ Nov 25, 2017 8:20:23 PM sun.net.www.protocol.http.HttpURLConnection getInputStream0 FINE: sun.net.www.MessageHeader@511d50c011 pairs: {null: HTTP/1.1 200 OK}{Cache-Control: max-age=604800}{Content-Type: text/html}{Date: Sun, 26 Nov 2017 02:20:24 GMT}{Etag: "359670651+ident"}{Expires: Sun, 03 Dec 2017 02:20:24 GMT}{Last-Modified: Fri, 09 Aug 2013 23:54:35 GMT}{Server: ECS (ftw/FBA9)}{Vary: Accept-Encoding}{X-Cache: HIT}{Content-Length: 1270}
Example ProjectDependencies and Technologies Used:
|