java e.printStackTrace 로그 남기기
2014. 1. 17. 10:46
반응형
e.printStachTrace 로그
e.printStachTrace 로그 JAVA 코딩 시 가장 많이 사용하는 코드로 예외 메시지 출력을 위해 사용한다.
try { // ... } catch(Exception e){ e.printStackTrace(); }
printStackTrace() 외에도 printStackTrace(PrintWriter writer)도 존재하고 printStackTrace(PrintStream s)
역시 존재하기 때문에 stackTrace 의 내용을 파일 등에 남기는 것은 그리 어려운 일이 아니다.
하지만 Log4J 등을 사용하거나 별도로 자신이 만든 로그라이브러리등을 사용할때는, 이를테면 logger.error(e.printStackTrace()); 이런식으로 사용할 수가 없기 때문에, StackTrace 의 내용을 얻어야 하는데... getMessage() 또는 getLocalinzedMessage()를 사용할 수도 있지만 StackTrace에 비해서는 디버깅 정보가 약간 빈약하기 때문에 적절하지 못하다.
JDK 1.4부터 getStackTrace() 라는 메소드가 추가되었는데 이 메소드는 StackTraceElement의 배열을 리턴해준다.
따라서 이를 이용해서 아래와 같은 식으로 처리를 해주면 종종 쓸만하다.
try { // ... } catch(Exception e){ StackTraceElement[] elem = e.getStackTrace(); for ( int i = 0; i < elem.length; i++ ) logger.error(elem[i]); }
반응형
'Programming > Java' 카테고리의 다른 글
올바른 eqals() 사용법 (0) | 2014.02.07 |
---|---|
[Java] split 문자열 나누기 (0) | 2014.02.05 |
[Java] ImageIO 활용한 이미지 저장 (0) | 2014.01.17 |
Java 성능 개선을 위한 Programming 기법 (0) | 2013.12.17 |
커스텀 DecoratorMapper를 이용한 SiteMesh URL 패턴 매칭 기능 확장 (0) | 2013.07.17 |