Advertisement
Guest User

Untitled

a guest
Oct 27th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. @Aspect
  2. public class SpringAOPLogger {
  3.  
  4. @Around("execution(* com.sample.dao.*.*(..)) || execution(* com.sample.service.*.*(..))"
  5. + "|| execution(* com.sample.controller.*.*(..))")
  6. public Object logMethod(ProceedingJoinPoint joinPoint) throws Throwable {
  7. String className = joinPoint.getTarget().getClass().getSimpleName();
  8. final Logger logger = Logger.getLogger(joinPoint.getTarget().getClass());
  9. Object retVal = null;
  10.  
  11. try {
  12. StringBuffer startMessageStringBuffer = new StringBuffer();
  13.  
  14. startMessageStringBuffer.append("Entered in ").append(className).append(".");
  15. startMessageStringBuffer.append(joinPoint.getSignature().getName());
  16. startMessageStringBuffer.append("(");
  17.  
  18. Object[] args = joinPoint.getArgs();
  19. for (Object arg : args) {
  20. startMessageStringBuffer.append(arg).append(", ");
  21. }
  22. if (args.length > 0) {
  23. startMessageStringBuffer.deleteCharAt(startMessageStringBuffer.length() - 1);
  24. }
  25.  
  26. startMessageStringBuffer.append(")");
  27.  
  28. //Method Entry Log
  29. logger.debug(startMessageStringBuffer.toString());
  30.  
  31. StopWatch stopWatch = new StopWatch();
  32. stopWatch.start();
  33.  
  34. retVal = joinPoint.proceed();
  35.  
  36. stopWatch.stop();
  37.  
  38. StringBuffer endMessageStringBuffer = new StringBuffer();
  39. endMessageStringBuffer.append("Exit from ").append(className).append(".");
  40. endMessageStringBuffer.append(joinPoint.getSignature().getName());
  41. endMessageStringBuffer.append("(..); Execution time: ");
  42. endMessageStringBuffer.append(stopWatch.getTotalTimeMillis());
  43. endMessageStringBuffer.append(" ms;");
  44.  
  45. //Method Exit Log
  46. logger.debug(endMessageStringBuffer.toString());
  47. } catch (Throwable ex) {
  48. StringBuffer errorMessageStringBuffer = new StringBuffer();
  49. // Create error message
  50. logger.error(errorMessageStringBuffer.toString(), ex);
  51. throw ex;
  52. }
  53. return retVal;
  54. }
  55. }
  56.  
  57. <aop:aspectj-autoproxy>
  58. <aop:include name="springAopLogger" />
  59. </aop:aspectj-autoproxy>
  60.  
  61. <bean id="springAopLogger" class="com.sample.utility.SpringAOPLogger" />
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement