2010-11-30 5 views
1

콘솔이 아니라 표준 아이콘이있는 UI 아이콘에서 앱을 시작할 때이 로그를 볼 수 있습니까? 일반 old System.out이 "default"로 지정되는 곳은 어디입니까?로그 스트림은 어디로 이동합니까?

+0

모든 로그 스트림이 로그 바다로 연결됩니다. – mob

답변

0

Angus가 말했듯이, 콘솔을 사용하지 않으면 출력이 나오지 않습니다.

응용 프로그램을 GUI로 시작한 경우 System.setOut을 사용하여 System.out 필드를 다른 대상 (TTY 또는 콘솔 제외)에 기록하도록 설정할 수 있습니다. 이렇게하면 다음을 전달하여 파일에 쓸 수 있습니다.

System.setOut(new PrintStream(path_to_a_file)); 

그러나 이것은 권장되지 않습니다.

가장 좋은 방법은 log4j 또는 SLF4J와 같은 로깅 프레임 워크를 사용하고 그런 식으로 파일, 네트워크 호스트 또는 콘솔에 대한 로깅을 수행하는 것입니다.

+0

+1 : 제어하지 않으면 어디에서 끝나는지도 모릅니다. 우리의 프로덕션 환경에서 System.out은 버퍼링됩니다. 따라서 우리는 최신의 것을 인쇄 할 수 있는지 확신 할 수 없습니다. (아직) 어떤 일이 일어나는지 보려고 할 때 지루합니다. 모든 것이 파일로 전송되도록 로깅 구성을 수정하기로 결정한시기입니다. –

0

앱에 콘솔이없는 경우 일반적으로 표준 출력은 어디에도 없습니다.

관련 문제