통합 테스트 스위트에서 commons-httpclient 3.1을 사용하고 있습니다. HttpClient의 기본 로깅은 매우 시끄 럽기 때문에 끌 수없는 것 같습니다. 나는 여기 의 지시를 따르려고 노력했지만 그들 중 어느 것도 차이를 만들지 않습니다.
주로 org.apache.http.wire 로거를 종료해야합니다. 문제의 일부는 어떤 유형의 로거 HttpClient가 사용하려고하는지 모르며 대부분의 문제는 이전 에이 라이브러리를 사용한 적이 없다는 것입니다. log4j.properties 파일을 작성하여 test / resources 폴더에 삭제하고 jre / lib의 master logging.properties 파일을 수정 한 후 logging 페이지 에 지정된대로 다양한 로깅 옵션을 Maven에 전송하려고 시도했지만 그중 아무것도 없습니다. 차이를 만드십시오.
도움이 필요합니다 ... 이것은 나를 미치게합니다.
업데이트 : 수정 : 문제의 출력이 실제로 내 자신이 아닌 HttpClient의 jwebunit 사용을 통해 발생하는 것으로 보입니다. 어느 쪽이든 바람직하지 않습니다.
업데이트 : 지금까지 시도해 주셔서 감사합니다. 아래 제안 된 모든 것을 시도했지만 여전히 운이 없습니다. src / test / resources 폴더에 다음 내용의 commons-logging.properties 파일이 있습니다.
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory
log4j.configuration=log4j.properties
및 다음 내용의 동일한 폴더에있는 log4j.properties 파일
log4j.rootLogger=ERROR, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%c] %m%n
#This is the line that should make httpclient shut up
log4j.logger.org.apache.http=ERROR
그러나 테스트를 실행할 때 여전히 다음과 같은 많은 결과가 나타납니다.
21:57:41.413 [main] DEBUG org.apache.http.wire - << " [\r][\n]"
21:57:41.413 [main] DEBUG org.apache.http.wire - << "[\r][\n]"
21:57:41.413 [main] DEBUG org.apache.http.wire - << " [\r][\n]"
21:57:41.413 [main] DEBUG org.apache.http.wire - << " </ul>[\n]"
21:57:41.413 [main] DEBUG org.apache.http.wire - << " [\n]"
21:57:41.424 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.425 [main] DEBUG org.apache.http.wire - << "[\r][\n]"
21:57:41.425 [main] DEBUG org.apache.http.wire - << "[\r][\n]"
21:57:41.425 [main] DEBUG org.apache.http.wire - << " </div>[\r][\n]"
21:57:41.425 [main] DEBUG org.apache.http.wire - << " </li>[\r][\n]"
21:57:41.425 [main] DEBUG org.apache.http.wire - << " [\r][\n]"
21:57:41.425 [main] DEBUG org.apache.http.wire - << " [\r][\n]"
21:57:41.433 [main] DEBUG org.apache.http.wire - << " </ul>[\n]"
21:57:41.433 [main] DEBUG org.apache.http.wire - << "</div>[\n]"
21:57:41.433 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.433 [main] DEBUG org.apache.http.wire - << "</div>[\n]"
21:57:41.433 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.433 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.433 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.433 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.433 [main] DEBUG org.apache.http.wire - << "<div class="details">[\n]"
21:57:41.442 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.443 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.443 [main] DEBUG org.apache.http.wire - << "<div class="details-body details-precis ">[\n]
"
21:57:41.443 [main] DEBUG org.apache.http.wire - << "<div class="details-state">[\n]"
21:57:41.443 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.443 [main] DEBUG org.apache.http.wire - << "</div>[\n]"
21:57:41.443 [main] DEBUG org.apache.http.wire - << "</div>[\n]"
21:57:41.443 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.455 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.455 [main] DEBUG org.apache.http.wire - << "</div>[\n]"
21:57:41.455 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.455 [main] DEBUG org.apache.http.wire - << "</div>[\n]"
21:57:41.455 [main] DEBUG org.apache.http.wire - << "</div>[\n]"
21:57:41.455 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.455 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.455 [main] DEBUG org.apache.http.wire - << "[\n]"
21:57:41.455 [main] DEBUG org.apache.http.wire - << "[\r][\n]"
Destroying 1 processes21:57:41.465 [main] DEBUG org.apache.http.wire - << "[\r][\n]"
전선을 가로 질러 오는 모든 것에 대한이 출력은이 라이브러리를 사용할 수 없게 만드는 것입니다. 이 로그 구성을 읽으려면 특별한 조치가 필요합니까?
public class Main { static { System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog"); } // Rest of class as before }
-Dlog4j.debug
올바른 구성 파일이로드되도록 VM 옵션에 추가하십시오.