From c450a3b7306ae17baf86e74d89c22df1d7597efd Mon Sep 17 00:00:00 2001 From: daeun084 <030804jk@naver.com> Date: Sat, 25 Jan 2025 15:51:46 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20pointcut=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/log/discord/DiscordLoggerAop.java | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/corecord/dev/common/log/discord/DiscordLoggerAop.java b/src/main/java/corecord/dev/common/log/discord/DiscordLoggerAop.java index 67de99f..8cea1af 100644 --- a/src/main/java/corecord/dev/common/log/discord/DiscordLoggerAop.java +++ b/src/main/java/corecord/dev/common/log/discord/DiscordLoggerAop.java @@ -21,20 +21,29 @@ public class DiscordLoggerAop { private final DiscordAlarmSender discordAlarmSender; - @Pointcut("execution(* corecord.dev.common.exception.GeneralExceptionAdvice..*(..))") + @Pointcut("execution(* corecord.dev.common.exception.GeneralExceptionAdvice.handleGeneralException())") public void generalExceptionErrorLoggerExecute() {} + @Pointcut("execution(* corecord.dev.common.exception.GeneralExceptionAdvice.handleException())") + public void serverExceptionErrorLoggerExecute() {} + + @Pointcut("execution(* corecord.dev.common.exception.GeneralExceptionAdvice.handleNullPointerException())") + public void nullPointerExceptionErrorLoggerExecute() {} + @Before("generalExceptionErrorLoggerExecute()") - public void serverErrorLogging(JoinPoint joinpoint) { + public void generalExceptionLogging(JoinPoint joinpoint) { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest(); - Object[] args = joinpoint.getArgs(); + GeneralException exception = (GeneralException)joinpoint.getArgs()[0]; - if (args[0] instanceof GeneralException exception) { - if (exception.getErrorStatus().getHttpStatus() == HttpStatus.INTERNAL_SERVER_ERROR) - discordAlarmSender.sendDiscordAlarm(exception, request); - } else { - Exception exception = (Exception) args[0]; + if (exception.getErrorStatus().getHttpStatus() == HttpStatus.INTERNAL_SERVER_ERROR) discordAlarmSender.sendDiscordAlarm(exception, request); - } + } + + @Before("serverExceptionErrorLoggerExecute() & nullPointerExceptionErrorLoggerExecute()") + public void serverExceptionLogging(JoinPoint joinpoint) { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest(); + Exception exception = (Exception)joinpoint.getArgs()[0]; + + discordAlarmSender.sendDiscordAlarm(exception, request); } }