예외가 발생을 하면 printStackTrace()를 통해서 예외 내용에 대한 부분을 출력한다.
하지만 예외 전체가 아닌 실제로 예외가 발생한 클래스만 확인하는 방법은 다음과 같이 처리하면 된다.
try{
...
}catch(Exception e){
StackTraceElement[] ste = e.getStackTrace();
String className = ste[0].getClassName();
String methodName = ste[0].getMethodName();
int lineNumber = ste[0].getLineNumber();
String fileName = ste[0].getFileName();
logger.severe("Exception : " + e.getMessage());
logger.severe(className + "." + methodName + " " + fileName + " " + lineNumber + "line");
}
StackTraceElement 배열의 0번째에는 예외가 발생한 클래스 정보가 있으며, 마지막에는 최초 호출된 클래스의 정보가 있다.
일반적인 WAS에서는 WAS 관련 클래스 정보가 포함될 것이다.