Java Exception 전체 내용 문자열로 출력하기
Programing/Java2016. 3. 16. 17:38
■ Java Exception 처리시에 Exception 내용 String 객체로 받아 출력하기
Java Exception의 전체 내용을 로그에 찍고 싶어 catch 문에 e.toString() 값을 log4j에 던져 보았습니다.
확인 결과 해당 e.getMessage() 한 결과와 별반 다르지 않게 에러코드 메세지만 출력이 되고, 전체 에러 내용이 다 변환되지는 않더군요.
아무튼 찾아보니 방법이 있어 기록 합니다.
* 테스트 소스
1 2 3 4 5 6 7 8 9 10 11 | import java.*; class MyFirstProgram { public static void main(String[] args) { Exception e = new Exception("Exception String Print !!"); ByteArrayOutputStream outStream = new ByteArrayOutputStream(); PrintStream pinrtStream = new PrintStream(outStream); e.printStackTrace(outStream); String printStackTraceStr = out.toString(); System.out.println("printStackTrace to String ==> " + printStackTraceStr); } } |
- e.printStackTrace()하면 System.out에 찍힘.
- 출력할 Exception 내용을 PrintStream을 생성해서 건네 주면 String 객체로 변환 가능.