Melhor maneira de gerar LOG de alterações
Bom dia pessoal!
Gostaria de opiniões de vocês de qual seria a melhor forma de gerar LOG de alterações de dados no BD.
Ultimamente estou usando Trigger no banco, mas não sei se é o método mas eficaz e também é bem trabalhoso. Também já fiz do tipo buscar os dados e comparar com o novo valor, caso seja diferente grava no histórico (Tipo De -> Para). Esses métodos acho muito trabalhosos.
Gostaria de sugestões de vocês?
Marcos
Gostaria de opiniões de vocês de qual seria a melhor forma de gerar LOG de alterações de dados no BD.
Ultimamente estou usando Trigger no banco, mas não sei se é o método mas eficaz e também é bem trabalhoso. Também já fiz do tipo buscar os dados e comparar com o novo valor, caso seja diferente grava no histórico (Tipo De -> Para). Esses métodos acho muito trabalhosos.
Gostaria de sugestões de vocês?
Marcos
Marcos
Curtidas 0
Respostas
Jothaz
03/11/2015
O assunto é bem complexo e extenso, mas segue minha visão pessoal sobre ele.
Não existe caminho fácil para se criar um logs/trilha de auditoria. Quase todas as abordagens são realmente trabalhosas. E depende de como/o que você deseja registrar.
Olha só para contextualizar pode-se dividir os log´s da seguinte forma:
1-Banco de dados:
---Via triggers tambêm conhecidas como trilhas de auditorias, tem a vantagem de ficar encapsulado no banco de dados e serem disparados automaticamente, então não se corre o risco de se esquecer de acioná-lo na aplicação e não registrar a operação. Mas é bem trabalhoso e se você quiser registrar tudo como exclusão, e alteração de valores guardando os valores antigos e novos adiciona ainda mais complexidade, pois terá de criar tabelas para replicar este conteúdo.
2-Via aplicação:
---É gerado via aplicação e depende de você não se esquecer de acioná-lo sempre que é executado alguma ação no banco de dados. A grande vantagens é que podem ser gerados em uma tabela de banco de dados, arquivos .txt ou .xml. Podem ser de atividades (onde-se registra somente a data/hora, usuário e atividade (alterou, acessou e ect) ser muito detalhe amento), atividade detalhada (que seria o de atividade com alguns detalhes como os valores dos campos antes da alteração e depois da alteração ou os valores dos campos de alguma chave excluídas.) e log de erro (onde seriam registrados os erros que ocorrem durante o acesso do sistema). Você pode criar também um log de acesso e tentativas de acesso inválidos no sistema.
A vantagem de dividir os logs gerados em .txt e .xml é facilitar a edição/consulta, pois dependendo do sistema os logs ficam gigantescos e fica muito difícil editá-los.
Existem algumas ferramentas para facilitar a criação de logs tais como: log4 que tem log4net, log4php (não tenho certeza mas acho que existe para PHP) e log4j. Para .net existe o NLOg que estou usando recomendo, pois é uma ótima ferramenta.
Usando ferramentas ou criando na mão você é que deve definir a arquitetura bem como a abrangência de seus logs, mas uma coisa é certa será cansativo e trabalhoso.
No mais desejo-te boa sorte e vamos aguardar outras opiniões.
Não existe caminho fácil para se criar um logs/trilha de auditoria. Quase todas as abordagens são realmente trabalhosas. E depende de como/o que você deseja registrar.
Olha só para contextualizar pode-se dividir os log´s da seguinte forma:
1-Banco de dados:
---Via triggers tambêm conhecidas como trilhas de auditorias, tem a vantagem de ficar encapsulado no banco de dados e serem disparados automaticamente, então não se corre o risco de se esquecer de acioná-lo na aplicação e não registrar a operação. Mas é bem trabalhoso e se você quiser registrar tudo como exclusão, e alteração de valores guardando os valores antigos e novos adiciona ainda mais complexidade, pois terá de criar tabelas para replicar este conteúdo.
2-Via aplicação:
---É gerado via aplicação e depende de você não se esquecer de acioná-lo sempre que é executado alguma ação no banco de dados. A grande vantagens é que podem ser gerados em uma tabela de banco de dados, arquivos .txt ou .xml. Podem ser de atividades (onde-se registra somente a data/hora, usuário e atividade (alterou, acessou e ect) ser muito detalhe amento), atividade detalhada (que seria o de atividade com alguns detalhes como os valores dos campos antes da alteração e depois da alteração ou os valores dos campos de alguma chave excluídas.) e log de erro (onde seriam registrados os erros que ocorrem durante o acesso do sistema). Você pode criar também um log de acesso e tentativas de acesso inválidos no sistema.
A vantagem de dividir os logs gerados em .txt e .xml é facilitar a edição/consulta, pois dependendo do sistema os logs ficam gigantescos e fica muito difícil editá-los.
Existem algumas ferramentas para facilitar a criação de logs tais como: log4 que tem log4net, log4php (não tenho certeza mas acho que existe para PHP) e log4j. Para .net existe o NLOg que estou usando recomendo, pois é uma ótima ferramenta.
Usando ferramentas ou criando na mão você é que deve definir a arquitetura bem como a abrangência de seus logs, mas uma coisa é certa será cansativo e trabalhoso.
No mais desejo-te boa sorte e vamos aguardar outras opiniões.
GOSTEI 0