2017-10-25 2 views
1

저지 클라이언트 (2.25.1)를 사용하여 서비스 끝점을 호출하는 테스트에서 간단한 Dropwizard (1.2.0) 웹 서비스를 실행합니다. 그들은 내 출력을 어지럽히고 때문에 내가 콘솔에 인쇄하려면 다음 로그 항목을 비활성화하고 싶은Jersey Client 2.x에서 로깅을 비활성화하는 방법은 무엇입니까?

127.0.0.1 - - [25/Oct/2017:21:17:10 +0000] "GET /query?name=John+Doe+1 HTTP/1.1" 200 48 "-" "Jersey/2.25.1 (HttpUrlConnection 1.8.0_92)" 84 
127.0.0.1 - - [25/Oct/2017:21:17:10 +0000] "GET /query?name=John+Doe+2 HTTP/1.1" 200 48 "-" "Jersey/2.25.1 (HttpUrlConnection 1.8.0_92)" 84 
127.0.0.1 - - [25/Oct/2017:21:17:10 +0000] "GET /query?name=John+Doe+0 HTTP/1.1" 200 48 "-" "Jersey/2.25.1 (HttpUrlConnection 1.8.0_92)" 84 

: 모든 요청에 ​​대해 나는 콘솔에 로그 항목, 예컨대을 얻을. 나는 그들이 저지 클라이언트에서 유래했다고 가정하고 있습니까? 내가 잘못? 그래서 같은, 내 클라이언트를 만들 때 나는 그것을 해제하려고 :

ClientConfig clientConfig = new ClientConfig(); 
clientConfig.property(LOGGING_FEATURE_LOGGER_LEVEL_CLIENT, Level.OFF); 
Client client = ClientBuilder.newClient(clientConfig); 
return client; 

을하지만이 아무런 영향을주지 않는다 - 로그 항목은 여전히 ​​콘솔에 덤프됩니다.

어떻게 이러한 로그 항목을 비활성화합니까?

답변

1

dropwizard 서버에서 인쇄 한 요청 로그입니다. 콘솔에 인쇄하지 않으려면 파일에 기록 할 수 있습니다. 테스트 yaml 설정 파일에 아래의 설정을 server: 속성 아래에 추가하십시오.

requestLog: 
    timeZone: UTC 
    appenders: 
     - type: file 
     currentLogFilename: /var/log/request.log 
     threshold: ALL 

또한 테스트 구성에서 아래와 같은 아무런 지시기도 지정하지 않아도 비활성화 될 수 있습니다.

requestLog: 
    appenders: [] 
+0

감사합니다. 그러나 'appenders :'와 '[]'(YML 구문) 사이에 공백을 두는 것을 명심하십시오. – keyoxy

+0

감사합니다. – Ravi

0

메인 애플리케이션 클래스로 가서 로거가 저지 환경에 연결되는 위치를 찾아야 할 수도 있습니다. 행은 다음과 유사해야합니다.

environment.jersey().register(new LoggingFeature(...)); 

해당 행을 삭제/주석 처리하십시오.

관련 문제