Hello fairouz, We use: StaticPart jps - jps.getSignature().getName()
Example of logging, certainly not the better one but it might help. @Aspect public class LoggingControllerBehavior extends LoggingBaseBehavior { @DeclareMixin("com.nested.crm.web.common.controller.BaseController") public static Loggable createLoggerDelegate(Object o) { return new ServantLogger(o.getClass()); } @Pointcut("execution(* com.nested.crm.web..*Controller*.do*(..))") public void controllerLogger() {}; @Pointcut("execution(protected void com.nested.crm.web..BaseTabController.initialize(..)) && !within(com.nested.crm.web..BaseClientController)") public void initializerLogger() {}; @Pointcut("execution(* com.nested.crm.web..*Controller.validate(..))") public void validateLogger() {}; @Before(value = "controllerLogger() && this(log)") public void loggerController(JoinPoint jp, JoinPoint.StaticPart jps, Loggable log) { if (log.getLog().isDebugEnabled() && jps != null) { final String args = buildParameters(jp.getArgs()); log.getLog().debug(jps.getSignature().getName() + " - Entering..." + (args.isEmpty() ? "" : " - " + args)); log.getLog().debug(jps.getSignature().getName() + " - Object dump - " + jp.getTarget()); } } @Before(value = "initializerLogger() && this(log) && target(controller)") public void loggerInitializer(JoinPoint jp, JoinPoint.StaticPart jps, Loggable log, Object controller) { if (log.getLog().isDebugEnabled()) { if (controller.getClass().isAssignableFrom(BaseTabController.class)) { if (!((BaseTabController)controller).getTabId().equals(jp.getArgs()[0])) { log.getLog().debug(jps.getSignature().getName() + " - Entering initializer... - " buildParameters(jp.getArgs())); } } else { log.getLog().debug(jps.getSignature().getName() + " - Entering initializer... - " + buildParameters(jp.getArgs())); } } } @Aspect public abstract class LoggingBaseBehavior { protected String buildParameters(Object[] parameters) { if (parameters == null) { return null; } StringBuilder sb = new StringBuilder(); for (int i = 0; i< parameters.length; i++) { sb.append("Param") .append(i+1) .append(" : ") .append("'") .append(parameters[i]) .append("'"); if (i+1 < parameters.length) { sb.append(" - "); } } return sb.toString(); } /* * The interface and the implementation of Loggable class. */ public interface Loggable { Logger getLog(); }; public static class ServantLogger implements Loggable { private transient Logger log = null; public ServantLogger(Class<? extends Object> clazz) { this.log = LoggerFactory.getLogger(clazz); } @Override public Logger getLog() { return log; } } } De : fairouz <bendjamafairouz_...@yahoo.fr> A : aspectj-users@eclipse.org, Date : 2013-04-16 13:14 Objet : [aspectj-users] classes and methodes name Envoyé par : aspectj-users-boun...@eclipse.org Hi, I am still beginner in aop, and I want to know if there is a way to find the name of all the classes and methods in a java project, and the callers of each method; thank you for help -- View this message in context: http://aspectj.2085585.n4.nabble.com/classes-and-methodes-name-tp4650877.html Sent from the AspectJ - users mailing list archive at Nabble.com. _______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users