scouter-project / scouter

Scouter is an open source APM (Application Performance Management) tool.
Other
2.1k stars 567 forks source link

GlobalExceptionHandler 에서 잡아서 정상처럼 리턴하는 에러에 대해서 에러 표시를 해줄 수 있을까요?? #475

Closed hahehiho closed 5 years ago

hahehiho commented 6 years ago

안녕하세요. spring 에서 GlobalExceptionHandler 를 잡아서 requestbody 에 에러를 표시해서 http status code를 200으로 해서 리턴을 하는 경우에 xlog 에 정상으로 나오고 있는데요.. 이런 경우에도 ExcpetionHandler에서 scouter 에 이 trasaction 은 실패다 라고 코딩할 수 있는 방법이 있을까요??

gunlee01 commented 6 years ago

아래 글의 중반쯤의 exception 관련 옵션들을 참고해 보세요. https://gunsdevlog.blogspot.kr/2018/05/scouter-apm-xlog-howto.html

추가적인 경우에 error 마킹을 하려면 아래 옵션들을 사용합니다.

#error로 마킹할 Exception class pattern을 지정합니다.
#상속받은 Exception class의 이름까지 검색합니다.
hook_exception_class_patterns=my.app.SereiousException,my.app.svc.*Exception
#위 패턴에서 제외할 패턴을 지정합니다.(예를 들어 MyPjtException을 지정하였으나, 이를 상속받은 MyPjtBizException은 제외하려면 여기에 설정합니다.)
hook_exception_exclude_class_patterns=
#Exception handler method의 pattern을 지정합니다. 이 메소드로 전달되는 Exception class의 정보로 error 정보를 profiling 합니다.
hook_exception_handler_method_patterns=my.app.myHandler.handleException
#위 메소드에 전달되는 Exception 중 error 마킹에서 제외할 class 정보를 입력합니다.
hook_exception_handler_exclude_class_patterns=

또한 error 발생시 profile에 full stack trace를 남기거나 기본 제공되는 error 옵션을 변경하려면 아래 설정들을 사용하면 됩니다.

profile_fullstack_hooked_exception_enabled=false
xlog_error_on_sqlexception_enabled=true
xlog_error_on_apicall_exception_enabled=true
xlog_error_on_redis_exception_enabled=true
xlog_error_sql_time_max_ms=30000
xlog_error_jdbc_fetch_max=10000
gunlee01 commented 5 years ago

Pending answer closed. Reopen it if needed.