2012-11-23 2 views
0

Restlet webservice가 있고 요청시 Restlet이 만드는 로그에서 디버그 문을 제거하고 싶습니다. 현재 나는이 작업을 수행하여 대신 콘솔 출력의 내 로그 파일에 Restlet 프레임 로깅을 리디렉션이 코드를 사용하고 있습니다 :Restlet 2.1 로깅을 log4j로 변경하는 방법

log4j.rootLogger=WARNING, LOGFILE 

내 문제는 내 log4j.properties에서

Slf4jLoggerFacade loggerFacade = new Slf4jLoggerFacade(); 
Engine.getInstance().setLoggerFacade(loggerFacade); 

내가이이 파일 요청을 받았음을 나타내는 로그의 디버그 항목을 계속 표시합니다. 이로 인해 모든 디버그 문 때문에 로그 파일이 커다란 파일 크기가됩니다.

나는이 디버그 문을 제거하기 위해 시도했지만 작동하지 않았다 :

Engine.setLogLevel(Level.WARNING); 

뿐만 아니라 노력이 :

Engine.setRestletLogLevel(Level.WARNING); 

왜 내 log4j.properties가 작동하지 않는 파일입니다?

11월 29 0시 0분 1초 DEBUG를 호스트를 기록 org.restlet : 여기

내가 제거 할 로그의 일부 디버그 항목입니다 IP : 8182
11월 29 0시 0분 1초 DEBUG 조직 .restlet 로그 연결 : 연결 유지
11 월 29 일 00:00:01 DEBUG t.SpringComponent.ServerRouter fine 선택한 기본 가상 호스트
11 월 29 일 00:00:01 DEBUG t.SpringComponent.ServerRouter fine 기본 URI : "http : // ip : 8182 "입니다. 남아있는 부분 : "/ getFoo? foo = Foo % 2Ffoo & fileName = foo.bin"

답변

1

그것을 해결! Restlet에서 log4j를 잘 모르는 문제가 아니 었습니다. WARN 대신 log4j 레벨을 WARNING으로 설정했습니다. 다음은 내 문제를 해결 한 log4j의 설정입니다. :)

log4j.rootLogger=ERROR, LOGFILE 
log4j.logger.org.restlet=WARN 
log4j.logger.org.springframework=WARN 
2

정확히 서블릿 컨테이너 내부에서 실행중인 응용 프로그램입니까? 어떤 종류의 서버 커넥터를 사용하고 있습니까? 어떤 종류의 디버그 추적을 로그에 넣었는지 알 수 없으므로 샘플을 제공 할 수 있습니까? 아직도 Restlet-2.0을 사용하고 있습니까?

안부, 티에리 알로

+0

이것은 [Restlet 프레임 팀원]로 나타납니다 (http://www.restlet.com/company/team#thierry-boileau)과의 공동 저자 '으로 Restlet 액션'! @ user1301115 귀하의 프로필에 귀하의 이름을 추가해야합니다. :-) – Jonathan

+0

@ user1301115 웹 서비스는 서블릿 컨테이너 내에서 실행되지 않습니다. 그것은 독립형입니다. 기본 서버 커넥터를 사용하고 있습니다. Restlet 2.1 JSE를 사용하고 있습니다. 도와 줘서 고마워. :) – ColinMc