[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [aspectj-users] System.out.prinltn and advicing
|
Title: Message
Hi
Albeit
no - It says it advises it, but when I run the tests, it never enters the around
advice
Hermod
Hi
I
solved it :)
pointcut systemOut() : get(* System.out);
pointcut systemErr() : get(* System.err);
pointcut sysout() : call(void
*.println(..)) && !within(SysOutLoggAspect) &&
(cflow(systemOut()) || cflow(systemErr()));
This seems to do the trick.
Hermod
Hi
I am trying to write an advice that traps calls
to System.out.println and System.err.println.
If I write the advice as follows:
public aspect SysOutLoggAspect {
private final Logger
LOGGER = Logger.getLogger(SysOutLoggAspect.class);
pointcut sysout() : (call(void
System.out.println(..)) || call(void System.err.println(..))
) &&
!within(SysOutLoggAspect);
void around(Object obj) : sysout() && args(obj) {
Level level = LOGGER.getEffectiveLevel();
LOGGER.log(thisJoinPoint.getSignature().getDeclaringTypeName(), level,
obj, null);
}
}
It does not apply the advice, and issues a
warning (no match for this type name: System.out
[Xlint:invalidAbsoluteTypeName]) about it in Eclipse (AJDT). If I
however rewrite the pointcut to:
pointcut sysout() : call(void
*.println(..)) && !within(SysOutLoggAspect);
It does apply the advice,
but I have no garantee that the method resides with System.out or
System.err
What is the best way to
solve this?
Hermod
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
This email with attachments is solely for the use of the individual or
entity to whom it is addressed. Please also be aware that the DnB NOR Group
cannot accept any payment orders or other legally binding correspondence with
customers as a part of an email.
This email message has been virus checked by the anti virus programs used
in the DnB NOR Group.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
This email with attachments is solely for the use of the individual or
entity to whom it is addressed. Please also be aware that the DnB NOR Group
cannot accept any payment orders or other legally binding correspondence with
customers as a part of an email.
This email message has been virus checked by the anti virus programs used
in the DnB NOR Group.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
This email with attachments is solely for the use of the individual or
entity to whom it is addressed. Please also be aware that the DnB NOR Group
cannot accept any payment orders or other legally binding correspondence with
customers as a part of an email.
This email message has been virus checked by the anti virus programs used
in the DnB NOR Group.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *