2014년 10월 29일 수요일

자바에서 Exception의 stacktrace를 파일로 로그남기는 방법

일반적으로 자바에서 로그를 파일로 남기는 방법은 log4j를 이용하는 것이다.

대부분의 관공서 뿐만 아니라 대기업들이 log4j를 사용하는데, 일부 기업들은 이것 말고 다른 것을 쓰기도 한다.

log4j에서 stacktrace를 파일로 떨궈내는 방법은

log4j.error( "", e.printstacktrace() );

이렇게 하면 될것이다.

근데...이게 안되는 라이브러리 들은 어떻게 하냐 이건데....간단하다.

JDK1.4부터 지원되는 아래 메소드를 쓰면 비슷하게 출력이 가능하다.

StackTraceElement[] ste = e.getStackTrace();

스택트레이스 메시지가 ste에 배열로 들어가게 된다.

그럼 루프돌면서

system.out.println( ste[ i ] );

이런식으로 출력하면 된다.

시스템아웃이 아니라 자체 파일스트림으로 뽑아낼때도 이런식으로 하면 되겠지....해보진 않았지만 될듯.ㅋ

댓글 없음: