Console 오류 출력 다시 질문드립니다.
- 작성자 :
- 윤*운
- 작성일 :
- 2015-01-19 11:27:45
- 조회수 :
- 1,002
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요.
상세한 답변 잘봤습니다.
말씀하신대로 컨트롤러는 에러페이지에서 오류를 확인 할 수 있겠지만,
ajax 같은 경우 개발 진행중에 에러페이지 확인이 불편하여 콘솔을 확인하는게 좋을것 같은데요.
프레임워크2.6 버전과 3.1버전에서 샘플로 생성된 프로젝트 2개를 첨부파일로 업로드 했습니다.
두 프로젝트 모두 selectSampleList 메소드에 if(true) throw new Exception("test"); 추가하여
오류를 발생시켰는데요.
2.6버전에서는 콘솔에 에러표시가 되는 반면, 3.1버전에서 생성된 프로젝트는 출력이 안됩니다.
설정파일들을 비교해 봤는데 특이하게 다른 부분이 없다보니 다시 질문을 드리게 됐습니다.
바쁘시겠지만 3.1버전에서도 콘솔에 오류가 표시될수 있는 방법을 알려주시면 고맙겠습니다.
상세한 답변 잘봤습니다.
말씀하신대로 컨트롤러는 에러페이지에서 오류를 확인 할 수 있겠지만,
ajax 같은 경우 개발 진행중에 에러페이지 확인이 불편하여 콘솔을 확인하는게 좋을것 같은데요.
프레임워크2.6 버전과 3.1버전에서 샘플로 생성된 프로젝트 2개를 첨부파일로 업로드 했습니다.
두 프로젝트 모두 selectSampleList 메소드에 if(true) throw new Exception("test"); 추가하여
오류를 발생시켰는데요.
2.6버전에서는 콘솔에 에러표시가 되는 반면, 3.1버전에서 생성된 프로젝트는 출력이 안됩니다.
설정파일들을 비교해 봤는데 특이하게 다른 부분이 없다보니 다시 질문을 드리게 됐습니다.
바쁘시겠지만 3.1버전에서도 콘솔에 오류가 표시될수 있는 방법을 알려주시면 고맙겠습니다.
A
안녕하세요 프레임워크센터입니다.
controller에서 exception을 throw했을 때 console에 찍히는 게 다른 이유는
log4j 설정 때문입니다.
주신 두개의 프로젝트에서
sample26은
<logger name="org.springframework" level="DEBUG" additivity="false">
<appender-ref ref="console" />
</logger>
로 되어있고,
sample31은 level이 INFO로 되어있습니다.
그래서 sample26은 console log가 찍히고,
sample31은 많이 안찍히는 것처럼 보인 것 같습니다.
원하는대로 콘솔에 모든 log를 보시려면 sample31의 log4j설정을
<logger name="org.springframework" level="DEBUG" additivity="false">
<appender-ref ref="console" />
</logger>
로 변경하시면 될듯 합니다.
참고로 service에서 발생하는
현재 exception에 대한 처리는
context-aspect.xml파일에 정의되어 있습니다.
2.6버전에 정의되어 있는 부분은 패키지 구조를 수정하면서 미처 설정파일에 대한 경로를 수정하지 못하였던 것 같습니다.
기본정책이
<aop:pointcut id="serviceMethod" expression="execution(* egovframework.example..impl.*Impl.*(..))" />
위 처럼 serviceImpl에서 던지는 exception을 처리하도록 되어 있습니다.
따라서
if(true) throw new Exception("test");
해당 구문을 serviceImpl단에서 수행해 보시면 발생된 오류가 확인이 가능합니다.
수고하세요.
controller에서 exception을 throw했을 때 console에 찍히는 게 다른 이유는
log4j 설정 때문입니다.
주신 두개의 프로젝트에서
sample26은
<logger name="org.springframework" level="DEBUG" additivity="false">
<appender-ref ref="console" />
</logger>
로 되어있고,
sample31은 level이 INFO로 되어있습니다.
그래서 sample26은 console log가 찍히고,
sample31은 많이 안찍히는 것처럼 보인 것 같습니다.
원하는대로 콘솔에 모든 log를 보시려면 sample31의 log4j설정을
<logger name="org.springframework" level="DEBUG" additivity="false">
<appender-ref ref="console" />
</logger>
로 변경하시면 될듯 합니다.
참고로 service에서 발생하는
현재 exception에 대한 처리는
context-aspect.xml파일에 정의되어 있습니다.
2.6버전에 정의되어 있는 부분은 패키지 구조를 수정하면서 미처 설정파일에 대한 경로를 수정하지 못하였던 것 같습니다.
기본정책이
<aop:pointcut id="serviceMethod" expression="execution(* egovframework.example..impl.*Impl.*(..))" />
위 처럼 serviceImpl에서 던지는 exception을 처리하도록 되어 있습니다.
따라서
if(true) throw new Exception("test");
해당 구문을 serviceImpl단에서 수행해 보시면 발생된 오류가 확인이 가능합니다.
수고하세요.