package com.hg.ecommerce.service.support; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.aspectj.lang.ProceedingJoinPoint; public class ServiceWrapper { private static final Logger logger = LogManager.getLogger("com.hg.ecommerce.service"); /** * wrap the method return boolean value * @param point * @return */ public boolean booleanAroundMethod(ProceedingJoinPoint point){ try{ logger.entry(point.getArgs()); logger.info("In "+point.getTarget().getClass().getName()+" "+point.getSignature().getName()); return logger.exit((Boolean)point.proceed(point.getArgs())); }catch(Throwable exception){ logger.catching(exception); return logger.exit(false); } } /** * wrapper method return object, handle throwable. * @param point * @return */ public Object objectAroundMethod(ProceedingJoinPoint point){ try{ logger.entry(point.getArgs()); logger.info("In "+point.getTarget().getClass().getName()+" "+point.getSignature().getName()); return logger.exit(point.proceed(point.getArgs())); }catch(Throwable exception){ logger.catching(exception); return logger.exit(null); } } }