I have an existing J2EE enterprise application to which I need to add auditing, i.e. be able to record CRUD operations on several important domain types (Employee, AdministratorRights, etc.).
The application has a standard n-tier architecture:
My question is: are there any standard patterns or (better still) frameworks/libraries specifically for adding auditing as a cross-cutting concern? I know AOP can be used to implement cross-cutting concerns in general; I want to know if there's something specifically aimed at auditing.
Maybe you should have a look at Audit4j that provides auditing of business functionality and has several options for configuration. Another framework is JaVers that focues more on auditing low-level modification on persistence layer, which might match your case a bit better.
Both framework provide audit-specific functionalities that goes beyond plain AOP/Interceptors.