Hi Andy,
thanks. That was my mistake. Now all works fine.
Best regards,
Nils
Andy Clement schrieb:
I would suggest you stop the aspect from weaving itself with a
"!within(LogAspect)" clause on your logging pointcuts.
Andy
On 9 June 2010 04:35, Nils Wilhelm <mur...@planet-of-art.de> wrote:
Hi Mohan,
thanks for your reply! The logging of the exceptions works now. But i still
have problems logging construcor calls. Using
before(): execution(public new(..)){
if (catchAllLogger.isDebugEnabled()) {
catchAllLogger.debug("-> "
+
thisJoinPoint.getSignature().toString()
+ createArgs(thisJoinPoint) + " at "
+ thisJoinPoint.getSourceLocation());
}
}
i still get the org.aspectj.lang.NoAspectBoundException (Exception while
initializing main_LogAspect). Any ideas?
Best regards,
Nils
Mohan Radhakrishnan schrieb:
Hi Nils,
The following code advices both the constructor and the 'test' method.
Class:
public class Constructor {
public Constructor(){
}
public static void main( String[] argv ){
try{
new Constructor().test();
}catch( Exception e ){
}
}
public void test() throws Exception{
throw new Exception();
}
}
Aspect :
public aspect ConstructorAspect {
before(): execution(public Constructor.new(..)){
if ( Boolean.TRUE ) {
System.out.println("-> "
+ thisJoinPoint.getSignature().toString()
+ thisJoinPoint + " at "
+ thisJoinPoint.getSourceLocation());
}
}
after() throwing (Exception e): execution(* Constructor.test(..)){
if ( Boolean.TRUE ) {
System.out.println("-> "
+ thisJoinPoint.getSignature().toString()
+ thisJoinPoint + " at "
+ thisJoinPoint.getSourceLocation());
}
}
}
Thanks,
Mohan
On Wed, Jun 9, 2010 at 3:18 PM, Nils Wilhelm <mur...@planet-of-art.de>
wrote:
Hi,
i hope you can help me improving my aspect so that it logs constructor
calls
and exceptions too. What i already have is:
public aspect LogAspect {
private static Logger communicationLogger = Logger
.getLogger("communicationLogger");
private static Logger catchAllLogger = Logger.getRootLogger();
static {
PropertyConfigurator.configure("Logger.properties");
}
before(): execution(public * communication..*(..)){
if (communicationLogger.isDebugEnabled()) {
communicationLogger.debug("-> "
+
thisJoinPoint.getSignature().toString()
+ createArgs(thisJoinPoint) + " at "
+
thisJoinPoint.getSourceLocation());
}
}
before(): execution(public * *..*(..)){
if (catchAllLogger.isDebugEnabled()) {
catchAllLogger.debug("-> "
+
thisJoinPoint.getSignature().toString()
+ createArgs(thisJoinPoint) + " at "
+
thisJoinPoint.getSourceLocation());
}
}
after() returning(Object o): execution(public *
communication..*(..)){
if (communicationLogger.isDebugEnabled())
communicationLogger.debug("<- "
+
thisJoinPoint.getSignature().toString() + " at "
+ thisJoinPoint.getSourceLocation()
+
" returning: " + o);
}
after() returning(Object o): execution(public * *..*(..)){
if (catchAllLogger.isDebugEnabled())
catchAllLogger.debug("<- "
+
thisJoinPoint.getSignature().toString() + " at "
+ thisJoinPoint.getSourceLocation()
+
" returning: " + o);
}
private String createArgs(JoinPoint jp) {
StringBuffer args = new StringBuffer();
args.append("(");
for (int i = 0; i < jp.getArgs().length; i++) {
if (i > 0)
args.append(",");
args.append(jp.getArgs()[i].toString());
}
args.append(")");
return args.toString();
}
}
This logs my method calls and works fine. Now i want to log constuctor
calls
and exceptions too. If i use
after() throwing (Exception e): execution(public * *..*(..)){
if (catchAllLogger.isDebugEnabled()) {
catchAllLogger.debug("Error "
+
thisJoinPoint.getSignature().toString()
+ createArgs(thisJoinPoint) + " at "
+
thisJoinPoint.getSourceLocation());
}
}
for logging exceptions it is never applied. And if i use
before(): execution(public new(..)){
if (catchAllLogger.isDebugEnabled()) {
catchAllLogger.debug("-> "
+
thisJoinPoint.getSignature().toString()
+ createArgs(thisJoinPoint) + " at "
+
thisJoinPoint.getSourceLocation());
}
}
for logging constructor calls i get an NoAspectBoundException.
Could you help me with that?
Best regards
Murphy
_______________________________________________
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
_______________________________________________
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
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
https://dev.eclipse.org/mailman/listinfo/aspectj-users