2013-04-25 2 views
2

내가 내장 부두 서버를 시작 포함하는 이클립스 플러그인을 개발하고, 즉, 이클립스인쇄 부두 출력이 콘솔 창

Server jetty = new Server(8080); 
WebAppContext webapp = new WebAppContext("webapp", "/webapp"); 
webapp.setWar("path/to/webapp); 
jetty.setHandler(webapp); 
jetty.start(); 
Program.launch("http://localhost:8080/webapp"); 

내가 이클립스의 콘솔 창에서 부두의 출력을보고 싶다는 내 플러그인을 포함 . 대신 jetty의 출력은 플러그인을 개발하고있는 Eclipse에서 나타납니다.

답변

2

부두의 로깅 프레임 워크를 살펴보십시오.

원하는 Eclipse 콘솔 창에 쓸 수있는 사용자 정의 org.eclipse.jetty.util.log.Logger을 작성하여 시작하십시오.

예 구현 :

그런 다음 Jetty 클래스를 인스턴스화하기 전에 Jetty가 사용자 지정 로거 구현에 사용하는 기본 로깅 프레임 워크를 설정하려면 org.eclipse.jetty.util.log.Log.setLog(Logger log)으로 전화하십시오.

행운을 빕니다

+0

출발점을 알려 주셔서 감사합니다. 당신의 접근 방식을 사용하면 모든'Server' 인스턴스에 대해 로거가 전역 적으로 설정되기 때문에 여러 개의 콘솔 창을 관리 할 수없는 것처럼 보입니다. 모든 'Server' 인스턴스에 대해 새 콘솔 창을 열 수있는 기회가 있습니까? 'JavaLaunchDelegate'를 사용하여 새로운 JVM에서 부두를 실행하고 출력을 별도의 콘솔 로그에 출력 할 수 있습니다. 그러나 나는 그것을 피하고 싶다. –

+0

그런 다음 로깅을 StdErrLog에두고 System.err을 캡처하여 특정 콘솔 창으로 라우트하십시오. –