소스가없는 jar 파일이 있습니다 (상대적으로 오래된 것입니다). 나는 그것이 실행될 때 서버 (들어오고 나가는 연결) 역할을하며 많은 양의 콘솔 출력을 내보내는 것을 안다. 내가하고 싶은 일은 다른 자바 애플리케이션이 exec를 사용하여 실행시키고, 스트림 내에서 스트림을 리다이렉트하여 항아리의 출력 내에서 특정 키워드 나 타임 스탬프를 볼 수있게하는 것이다. 프로그램의 목적은 특정 사건을 추적하고 사건 발생시기에 대한 더 큰 그림을 제공하고 미래에 일어날 때 어떻게 반응 하는지를 "배우는"것입니다.Java를 사용하여 콘솔 출력 스트림을 실시간으로 리디렉션
필자가 해왔 던 책에서 추측하겠습니다. 까다로운 부분은 스트림이 닫힌 후에가 아니라 실시간으로 데이터를 얻는 것입니다.
어떻게해야합니까?
단순히 추가 클래스를 제공하고 기존 JVM에서 jar를 직접 호출하는 대신 exec를 실행하려는 이유는 무엇입니까? 표준을 쉽게 리디렉션 할 수 있습니다. 또한 이것이 로깅 출력 인 경우 로깅 프레임 워크를 재구성하는 것이 매우 간단 할 수 있습니다. –
@ Thorbjørn Ravn Andersen 나는 이것이 가능하다는 것을 몰랐다. 이 작업을 수행하는 방법에 대한 정보는 무엇입니까? –
항아리를 클래스 패스에 놓습니다. 오래된 main() 메소드가 어디에 있는지 알아보십시오. 필요한 main()을 작성하고 이전 main()을 호출합니다. http://stackoverflow.com/questions/2851234/system-out-to-a-file-in-java도 참조하십시오. –