반응형

log4j에서 e.printStackTrace() 메시지를 log에 남기는 방법


이클립스로 소스코드를 짜다 보면 exception 코드 확인이 필요한 경우가 많습니다. 

간단한 구문이지만 막상 쓸려고 하면 생각이 나지 않는 경우들이 많아서 몇자 남겨 놓습니다. 

log.debug("exception msg" + e.printStackTrace());    ==>  문법오류 

log.debug("exception msg" + e.printStackTrace().toString());    ==>  마지막 에러만 표시됨 


그래서 아래와 같이 try catch를 사용하면 로그로 에러를 추적할수 있습니다. 

------------------------------------------------------------------------------------

try{

.....

}catch (Exception e) {

log.error ("exception msg", e);

//  or

log.debug ("exception msg", e);

...

}

--------------------------------------------------------------------------------------

e.printStackTrace() 구문은 요즘 PMD 에서 Avoid Print Stack Trace 로 삭제 하거나 log로 대체 되는 상황이기 때문에

미리 부터 설정 해두면 좋을것 입니다. 

PMD 에서 기본 대체 구문은 System.out.println(); 으로 잡혀 있지만 log로 남기는 것이 좋습니다. 

소스 코드 내에 println 메소드는 사용하지 않습니다. 


반응형

+ Recent posts