Log de atividades em Sistema Web por usuário

Colegas boa tarde.

Estou com um problema que tenho que resolver para ontem que envolve um assunto que não tenho experiência necessário para fazer algo confiável.

Preciso de um log de atividades no sistema por usuário.

Ex: - Usuário loga (Registra o login (Data + HORA + Usuário))
- Usuário cadastra um item de algo (Data + Hora + atividade + Usuário)
- etc.

Estudei o Log4j mas não vi como ele poderia me ajudar com isso. Até porque não posso apagar os logs anteriores e seriam criados logs por usuário.

Alguém pode me indicar algo para que possa começar a implementar essa solicitação?

Agradeço.

Com o log4j você registraria as informações dos logs dos usuários em um arquivo único.
Como trata-se de auditoria e armazenar esses dados em arquivos isso poderia estar exposto de alguma forma para qualquer pessoa que pudesse ler o arquivo.

Minha sugestão é que crie uma tabela na base de dados com esses campos que vocẽ citou:
Data, Hora, atividade, Usuário

E a cada mudança no sistema você faz uma inserção nessa tabela. Depois você pode criar algo que extraia os dados dessa tabela de acordo com o usuário e coloque em um arquivo no servidor ou uma bean para exportar isso para download. As possibilidades são grandes.

Não sei se deu pra enteder, mas dê mais detalhes sobre o sistema e a gente te ajuda.

Att.

[quote=edysnipes]Colegas boa tarde.

Estou com um problema que tenho que resolver para ontem que envolve um assunto que não tenho experiência necessário para fazer algo confiável.
.
.
.
[/quote]

Vc ta usando Hibernate ou JPA ?

Boa noite colegas,

Estou passando pela mesma situação do edysnipes, o que entendi é que ele quer registrar no banco de dados as ações realizadas pelo usuário. Ex: registrar a ação realizada pelo usuário, a tela que o usuário acessou, data e hora (que é o que quero também). Pessoal preciso saber se o log4j me permite isso e se permite eu gostaria de saber como.

Estou usando como framework: Spring, Hibernate, JSF e Primefaces,

Agradeço,

Att

[quote=ksi]Com o log4j você registraria as informações dos logs dos usuários em um arquivo único.
Como trata-se de auditoria e armazenar esses dados em arquivos isso poderia estar exposto de alguma forma para qualquer pessoa que pudesse ler o arquivo.

Minha sugestão é que crie uma tabela na base de dados com esses campos que vocẽ citou:
Data, Hora, atividade, Usuário

E a cada mudança no sistema você faz uma inserção nessa tabela. Depois você pode criar algo que extraia os dados dessa tabela de acordo com o usuário e coloque em um arquivo no servidor ou uma bean para exportar isso para download. As possibilidades são grandes.

Não sei se deu pra enteder, mas dê mais detalhes sobre o sistema e a gente te ajuda.

Att.[/quote]

Ola estou com essa necessidade, gostaria de saber se tem como jogar os logs do log4j para tabela no banco.

acredite, é melhor jogar em arquivo texto, no banco vai pesar e muito.

Nesse caso ja digo que é auditoria e não log de sistema…
Fica bem mais confiavel fazer a auditoria salvando em banco pra que ninguem possa alterar, nem que seja apagado sem querer, além disso fica bem flexivel, alterável e da pra fazer selects e relatórios
tem o Hibernate Envers que é específico pra auditoria, usa-se anotação

Que fica mais seguro fica, mas que fica bem mais pesado o banco, fica também. Tem que pensar nos dois lados.