title: Good pattern or framework for adding auditing to an existing app?
body: <p>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.).</p>
  
  <p>The application has a standard n-tier architecture:</p>
  
  <ul>
  <li>Web interface</li>
  <li>Business operations encapsulated within a mixture of stateless session beans and transactional POJOs (using Spring)</li>
  <li>persistence is a mixture of direct JDBC (from within the business layer) and EJB 2.x BMP entity beans (I know, I know)</li>
  </ul>
  
  <p>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.</p>