그래서 - 이것을 테스트했습니다. 이것은 실제 기능이 아닌 로거 구성 및 기능 구성과 관련된 문제 일 수 있습니다.
public class MainClientTest {
public static void main(String[] args) {
Client build = ClientBuilder.newBuilder().build();
// Configure Logger to log it all
Logger logger = Logger.getLogger("test");
logger.setLevel(Level.ALL);
logger.setUseParentHandlers(false);
Handler[] handlers = logger.getHandlers();
for(Handler h : handlers) logger.removeHandler(h);
logger.addHandler(buildseh());
logger.info("Logger");
build = build.register(new LoggingFeature(logger, Level.ALL, Verbosity.PAYLOAD_ANY, null));
build.target("https://www.google.com").request().get();
}
public static StreamHandler buildseh() {
final StreamHandler seh = new StreamHandler(System.err, new JdkLoggerFormatter()) {
@Override
public synchronized void publish(final LogRecord record) {
super.publish(record);
flush();
}
};
seh.setLevel(Level.ALL); // Default StdErr Setting
return seh;
}
}
이 인쇄 : 난 당신이 여기에 원하고 무엇을 인쇄 않습니다 준 힌트는 증거입니다
귀하의 기능 MUST :
1477055066111 I test Logger
1477055066397 test 1 * Sending client request on thread main
1 > GET https://www.google.com
1477055067350 test 1 * Client response received on thread main
1 < 200
1 < Accept-Ranges: none
1 < Alt-Svc: quic=":443"; ma=2592000; v="36,35,34,33,32"
1 < Cache-Control: private, max-age=0
1 < Content-Type: text/html; charset=ISO-8859-1
1 < Date: Fri, 21 Oct 2016 13:04:27 GMT
1 < Expires: -1
1 < P3P: CP="This is not a P3P policy! See https://www.google.com/support/accounts/answer/151657?hl=en for more info."
1 < Server: gws
1 < Set-Cookie: NID=89=YPr3UcI5rcA4qiaXfm9zkA0uAWrnSDEbxN3TcFuhZ9PkLNvkSHBCHHLcYeXa7tNpzpM_9p7AFAreYq3kR9awqqKrhv5W6pWavfx5bZM7Jjbt559a4aEv20exEPJRmS1N; expires=Sat, 22-Apr-2017 13:04:27 GMT; path=/; domain=.google.co.uk; HttpOnly
1 < Transfer-Encoding: chunked
1 < Vary: Accept-Encoding
1 < X-Frame-Options: SAMEORIGIN
1 < X-XSS-Protection: 1; mode=block
<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="en-GB"><head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><meta content="/images/branding/googleg/1x/googleg_standard_color_128dp.png" itemprop="image"><title>Google</title><script>(function(){window.google={kEI:'WxIKWJOeEcGwa_nDmNgC',kEXPI:'1351633,1351901,3700318,3700400,4029815,4031109,4032678,4036527,4038012,4039268,4043492,4045841,4048347,4052304,4062185,4063220,4065786,4066665,4068550,4068816,4069839,4069841,4070140,4070329,4071229,4072287,4072364,4072602,4072705,4072773,4073248,4073405,4073758,4073913,4073959,4074684,4074809,4076096,4076315,4076930,4076999,4077037,4077119,4077
그래서, 여기에 함정이다 올바른 수준으로 구성되어야합니다. 참조 :
new LoggingFeature(logger, Level.ALL, Verbosity.PAYLOAD_ANY, null)
로거는 올바른 항목을 기록하도록 구성되어야합니다.
seh.setLevel(Level.ALL); // Default StdErr Setting
logger.setLevel(Level.ALL);
그리고 기능은 바로 상세 있어야합니다 Verbosity.PAYLOAD_ANY
을 그리고 그것은 당신이해야 할 모든 것입니다.
감사합니다,이 트릭 않습니다
변경합니다. 이전에 보았던 다른 내용은 응답 텍스트가 아닙니다. 응답 텍스트는 사실 사용자가 보는 것일뿐 나머지는 자세한 로깅입니다. – pandaadb
@pandaadb 아니, 새로운 LoggingFeature (Logger.getLogger (getClass(). getName()), LoggingFeature.Verbosity.PAYLOAD_ANY)'결과는 똑같은 결과를 가져왔다. 문서에 따르면'PAYLOAD_TEXT'는 (다른 것들 중에서) 내용 유형'application/json'에 해당합니다. – l0b0