Registro de actividad del usuario en la aplicación web

Me gustaría poder registrar las actividades de los usuarios en una aplicación web. Actualmente estoy usando log4j que funciona bien para registrar errores, etc., pero no estoy seguro de cuál es el mejor enfoque para registrar al usuario, el método de servlet ejecutado y los parámetros del método. Estoy usando Spring Security para la autenticación.

Un servlet típico podría verse así:

public class BankAccountServlet {
    @RequestMapping("/deposit")
    public void deposit(double amount) {
        ...
    }

    @RequestMapping("/checkBalance")
    public double checkBalance() {
        ...
    }
}

Si hay dos usuarios, foo y bar, donde foo verifica su saldo y bar deposita dos sumas de efectivo 10.00 y 5.00. Me gustaría que los registros se vean así:

01/01/1970 23:59:59 - foo - checkBalance
02/01/1970 23:59:59 - bar - deposit - 10.00
02/01/1970 23:59:59 - bar - deposit - 5.00

Si alguien pudiera ofrecer algún consejo, realmente agradecería su ayuda.

Respuestas a la pregunta(3)

Su respuesta a la pregunta