Como implementar um histórico de alterações

Como posso implementar um histórico de alterações nos registros baseando-se nas alterações feitas nos formulários. Independente do formulário. Uma classe que seja chamada á cada ação (inclusão. atualização, exclusão) de registros?

Abraço

Olá pessoal. Alguém já implementou algo assim?

Hibernate Envers, pode lhe ajudar.

Muito obrigado pela dica. Vou dar uma estudada e caso tiver dúvidas, postarei elas por aqui. A melhor comunidade de java…