Ryon`s Life

    

■ 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 객체로 변환 가능.

<12 class="hx cmt">