Вход в JDK11 HttpClient
JDK11 представил новый HTTP-клиент со многими функциями, которые отсутствуют в традиционных java.net.HttpURLConnection
учебный класс. Первый вопрос, с которым я столкнулся, - как правильно включить ведение журнала в только что добавленном HTTP-клиенте?
1 ответ
Клиент использует java.util.logging, самый простой способ - использовать SLF4J. См. JUL в SLF4J Bridge для получения дополнительной информации.
Требуется 3 шага:
Добавьте jul-to-slf4j brifge к вашему classpath с областью выполнения.
Maven:<dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <version>1.7.25</version> <scope>runtime</scope> </dependency>
Gradle:
runtime group: 'org.slf4j', name: 'jul-to-slf4j', version: '1.7.25'
Добавьте в logback.xml (logback-test.xml), не забудьте добавить аппендер STDOUT (или изменить его соответствующим образом)
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"> <resetJUL>true</resetJUL> </contextListener> <logger name="jdk.internal.httpclient.debug" level="debug" additivity="false"> <appender-ref ref="STDOUT" /> </logger> <root level="DEBUG"> <appender-ref ref="STDOUT"/> </root>
Добавьте в свой код:
static { SLF4JBridgeHandler.removeHandlersForRootLogger(); SLF4JBridgeHandler.install(); }