2014-06-16 3 views
0

2 개의 Java 프로세스가 오래 실행되고 이미 인스턴스화 된 객체이며 하나의 객체가 다른 객체의 메소드를 호출하는 유스 케이스가 있습니다.Java의 외부 메소드에서 로깅 리디렉션

Java process1이 java process2에서 ".execute"를 호출하고 별도의 스레드에서 실행합니다. java process2에서 특정 실행 메소드의 stdOut를 리디렉션 할 수있는 방법이 있습니까? process1이 해당 std를 로그로 가져 와서 렌더링하도록 할 수 있습니까?Process2는 외부 시스템이므로 외부 시스템의 코드를 변경하고 싶지는 않습니다.

+0

process2가 별도의 스레드 또는 별도의 프로세스에서 실행되고 있습니까? –

+0

별도의 스레드로 실행 중입니다. –

답변

0

System.out의 특성은 전체 jvm에서 동일하다는 것입니다. 다른 Thread가 다른 System.out에 대한 참조를 가질 수 없습니다. 그래서 당신은 System.out을 전체 jvm을 로그로 리다이렉트 할 수 있습니다.

관련 문제