Good pattern or framework for adding auditing to an existing app?

Andrew Swan picture Andrew Swan · Sep 16, 2008 · Viewed 16.3k times · Source

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:

  • Web interface
  • Business operations encapsulated within a mixture of stateless session beans and transactional POJOs (using Spring)
  • persistence is a mixture of direct JDBC (from within the business layer) and EJB 2.x BMP entity beans (I know, I know)

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.

Answer

Gerald Mücke picture Gerald Mücke · Jul 8, 2015

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.