Kirk Rader 1.0-SNAPSHOT
Aspects to inject tracing into any application.
Execution tracing is the classic example of a "cross-cutting concern" of the kind for which Aspect-Oriented Programming (AOP) was devised. This module defines two classes with AspectJ annotations turning them into "aspects":
The first is an abstract aspect that injects trace logging into any Java class. The second is a concrete aspect that extends the first, selecting all classes in all packages except for the one in whcih these trace aspects are themselves defined.
See Integration Tests for a demonstration / integration test of the tracing that can be injected by these aspects.