Ir ao conteúdo
  • Cadastre-se

Logs em Java MySQL


Posts recomendados

Ola Galera, sou estudante de Análise de Sistema e iniciante em programação, estou com o seguinte problema, fiz um Crud em java MySQL com tela de login e nível de acesso, agora o professor pediu um histórico de acesso do usuário, para saber quem alterou e excluiu um registro no sistema, abaixo segue a tabela do banco de dados.post-695920-0-78871700-1446473563_thumb.

Link para o comentário
Compartilhar em outros sites

Mas tem alguma ideia do que fazer?

Para o Java tem várias bibliotecas que ajudam a organizar logs, o Logging API do Java, Log4J, o Logback, etc.

 

Tem ideias mais automáticas, por exemplo, o interceptador. Pedir para o Java interceptar certos métodos, antes da sua execução verificar se está relacionado ao CRUD se sim coleta os dados necessários e guarda em algum lugar.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Meu brother, quero uma coisa simples é para um trabalho da faculdade, o que você me sugere?


Mas tem alguma ideia do que fazer?

Para o Java tem várias bibliotecas que ajudam a organizar logs, o Logging API do Java, Log4J, o Logback, etc.

 

Tem ideias mais automáticas, por exemplo, o interceptador. Pedir para o Java interceptar certos métodos, antes da sua execução verificar se está relacionado ao CRUD se sim coleta os dados necessários e guarda em algum lugar.

Link para o comentário
Compartilhar em outros sites

De forma um pouco braçal uma camada a mais para manter o que funciona intocado e armazenar na base antes e depois de uma alteração, é sempre útil conhecer o valor anterior pra evidenciar reclamações rs:

class ProdutoService{private Usuario usuario;private ProdutoDAO dao;public ProdutoService(Usuario u, ProdutoDAO dao){this.usuario = u;this.dao = dao;}public void alteraProduto(Produto p){logaAntesDaGravaCao(p, usuario);//<---Isso manteria gravado na base o estado antes da alteraçãodao.salvaProduto(p);logaDepoisDaGravaCao(p, usuario);//<---Isso para apontar pra o que o usuário alterou}private logaAntesDaGravaCao(Produto p, usuario){//De imediato criaria uma tabela log, fácil implementação e fácil de consultar}}
Link para o comentário
Compartilhar em outros sites

Irmão desde já agradeço pela ajuda, você poderia da um exemplo de como criar a tabela log, tem que relacionar com quais tabelas, tem que criar trigger..?

 

 

De forma um pouco braçal uma camada a mais para manter o que funciona intocado e armazenar na base antes e depois de uma alteração, é sempre útil conhecer o valor anterior pra evidenciar reclamações rs:

 

class ProdutoService{
 
private Usuario usuario;
private ProdutoDAO dao;
 
public ProdutoService(Usuario u, ProdutoDAO dao){
this.usuario = u;
this.dao = dao;
}
 
public void alteraProduto(Produto p){
logaAntesDaGravaCao(p, usuario);//<---Isso manteria gravado na base o estado antes da alteração
dao.salvaProduto(p);
logaDepoisDaGravaCao(p, usuario);//<---Isso para apontar pra o que o usuário alterou
}
 
private logaAntesDaGravaCao(Produto p, usuario){
//De imediato criaria uma tabela log, fácil implementação e fácil de consultar
}
}

 

Link para o comentário
Compartilhar em outros sites

Então, não lembro quando foi a última vez que fiz um desses.

Mas o ideal é que o log fosse bem desaclopado do teu sistema, isso aumenta a portabilidade e analise mais independente do seu conteúdo.

Nenhum relacionamento, nem mesmo trigger que pode impactar no desempenho.

 

Um exemplo de tabela seria +- assim:

Colunas:

Data, Usuario, acao, descrição

 

Ex. de um registro:

 

19/11/2015 7:30:59, João, A, '391|Abacaxi|30,50'

20/11/2015 7:30:59, Tatu bola, A, '391|Abacaxi|59,50'

 

O usuário Tatu bola efetuou uma alteração no item id 391 chamado Abacaxi a 59,50, até então, a última alteração era do João

 

Como não defino nenhuma coluna específica, bote embutir quantas informações quiser na coluna descrição e que fosse interpretada por qualquer um sem que precise explicar como o teu sistema funciona.

 

Bolei essa ideia em 10 min, talvez tenha partir daí alguma outra ideia melhor

Link para o comentário
Compartilhar em outros sites

ja fiz um projeto em equipe que tinha um log muito parecido, pena que essa  não foi minha parte do sistema queria ajudar...

Ponkotsu dar uma olhada no meu post http://forum.clubedohardware.com.br/forums/topic/1139450-problema-em-ligar-relatorio-jaspersoft-studio-com-java/ por favor acho que você pode me ajudar esperando sua visita no post abraço
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...