You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2008/08/06 18:19:40 UTC
svn commit: r683317 - in /tuscany/sandbox/rfeng/aop-logging/src:
main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java
test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java
Author: rfeng
Date: Wed Aug 6 09:19:39 2008
New Revision: 683317
URL: http://svn.apache.org/viewvc?rev=683317&view=rev
Log:
Display input/output for traces
Modified:
tuscany/sandbox/rfeng/aop-logging/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java
tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java
Modified: tuscany/sandbox/rfeng/aop-logging/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/rfeng/aop-logging/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java?rev=683317&r1=683316&r2=683317&view=diff
==============================================================================
--- tuscany/sandbox/rfeng/aop-logging/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java (original)
+++ tuscany/sandbox/rfeng/aop-logging/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java Wed Aug 6 09:19:39 2008
@@ -21,6 +21,8 @@
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
+import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
@@ -61,23 +63,35 @@
}
@Before("trace() && supportsAfterAdvice()")
- public void beforeTrace(JoinPoint.StaticPart jp) {
+ public void beforeTrace(JoinPoint jp) {
logEnter(jp);
}
@After("trace() && supportsAfterAdvice()")
- public void afterTrace(JoinPoint.StaticPart jp) {
+ public void afterTrace(JoinPoint jp) {
logExit(jp);
}
+
+ @AfterReturning(pointcut = "trace() && supportsAfterAdvice()", returning = "result")
+ public void afterReturning(JoinPoint jp, Object result) {
+ logExit(jp, result);
+ }
+
+ @AfterThrowing(pointcut = "trace() && supportsAfterAdvice()", throwing = "e")
+ public void afterThrowing(JoinPoint jp, Throwable e) {
+ logException(jp, e);
+ }
@After("start()")
public void afterStart() {
completeLog();
}
- protected abstract void logEnter(JoinPoint.StaticPart jp);
+ protected abstract void logEnter(JoinPoint jp);
- protected abstract void logExit(JoinPoint.StaticPart jp);
+ protected abstract void logExit(JoinPoint jp);
+ protected abstract void logExit(JoinPoint jp, Object result);
+ protected abstract void logException(JoinPoint jp, Throwable throwable);
protected abstract void startLog();
Modified: tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java?rev=683317&r1=683316&r2=683317&view=diff
==============================================================================
--- tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java (original)
+++ tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java Wed Aug 6 09:19:39 2008
@@ -19,7 +19,9 @@
package org.apache.tuscany.sca.aspectj;
-import org.aspectj.lang.JoinPoint.StaticPart;
+import java.util.Arrays;
+
+import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
@@ -38,22 +40,38 @@
System.out.println("completeLog()");
}
- @Pointcut("execution(public * org.apache.tuscany.sca..*.*(..))")
+ @Pointcut("execution(public * org.apache.tuscany.sca..*.*(..)) &&!within(java..*)")
protected void entry() {
}
-
+
@Pointcut("within(org.apache.tuscany.sca..*) && !within(org.apache.tuscany.sca.aspectj.*Aspect)")
protected void withinScope() {
}
@Override
- protected void logEnter(StaticPart jp) {
+ protected void logEnter(JoinPoint jp) {
System.out.println("> " + jp.getSignature());
+ if (jp.getArgs().length != 0) {
+ System.out.println("Input: " + Arrays.asList(jp.getArgs()));
+ }
+ }
+
+ @Override
+ protected void logExit(JoinPoint jp) {
+ // System.out.println("> " + jp.getSignature());
+ }
+
+ @Override
+ protected void logException(JoinPoint jp, Throwable throwable) {
+ System.out.println("! " + jp.getSignature() + " " + throwable.getMessage());
}
@Override
- protected void logExit(StaticPart jp) {
+ protected void logExit(JoinPoint jp, Object result) {
System.out.println("< " + jp.getSignature());
+ if (!jp.getSignature().toString().startsWith("void ")) {
+ System.out.println("Output: " + result);
+ }
}
@Override