Thursday, 16 March 2023

Spring AOP for logging

 @Aspect

@Component
public class LogMyMethodAspect {
private static final Logger logger = LoggerFactory.getLogger(LogMyMethodAspect.class);
@Around("@annotation(LogMyMethod)")
public void logMyMethod(ProceedingJoinPoint joinPointpawan) throws Throwable {
System.out.println("-----------------pawan----------------");
logger.info("service_identifier={},event={},game_session_id={},company_id={},player_id={},game_id={},action={},reason={},status={},data={}",
"CDS",
joinPointpawan.getSignature().getName(),
"",
"",
"",
"",
"refusing to start downstream processing",
"gameSessionID already processed",
"failed",
Arrays.stream(joinPointpawan.getArgs()).findFirst()
);
logger.info("service_identifier={},event={},game_session_id={},company_id={},player_id={},game_id={},action={},reason={},status={},data={}",
"CDS",
"submitEndGameDetails",
"",
"",
"",
"",
"refusing to start downstream processing",
"gameSessionID already processed",
"completed",
Arrays.stream(joinPointpawan.getArgs()).findFirst()
);
joinPointpawan.proceed();
}

@Pointcut(value = "execution(* com.huddle.gameservice.service.impl.GameProfileServiceImpl.*(..))")
private void logDisplay()
{
System.out.println("---------------controller method called--------------------");
}

@Around("execution(* com.huddle.gameservice.service.impl.GameProfileServiceImpl.*(..))")
public void
logBefore(ProceedingJoinPoint joinPointpawan)
{

System.out.println(
".............I WILL EXECUTE BEFORE EACH AND EVERY METHOD.............");
logger.info("service_identifier={},event={},game_session_id={},company_id={},player_id={},game_id={},action={},reason={},status={},data={}",
(Object) "CDS",
joinPointpawan.getSignature().getName(),
"",
"",
"",
"",
"refusing to start downstream processing",
"gameSessionID already processed",
"failed",
Arrays.stream(joinPointpawan.getArgs()).collect(Collectors.toList()).toString()
);
}

@Around(value ="execution(* com.huddle.gameservice.controller.GameProfileController.*(..))")
public Object logBeforeController(ProceedingJoinPoint joinPointpawan) throws Throwable {
System.out.println(".............Logging controller request.............");
logger.info("service_identifier={},event={},game_session_id={},company_id={},player_id={},game_id={},action={},reason={},status={},data={}",
(Object) "CDS",
joinPointpawan.getSignature().getName(),
"",
"",
"",
"",
"refusing to start downstream processing",
"gameSessionID already processed",
"failed",
Arrays.stream(joinPointpawan.getArgs()).collect(Collectors.toList()).toString()
);
return joinPointpawan.proceed();
}

No comments:

Post a Comment