Como implementar log de auditoria em JAVA ?

Olá galera , estou com um projeto do curso de uma Urna eletrônica já fiz os requisitos e gostaria de saber como faço para implementar logs de auditoria em java , segue o requisito pedido .

  • O sistema deve produzir logs de auditoria para cada ação realizada no sistema (autenticação, votação, etc) sem que o candidato votado seja identificável pelo registro.

Uma vez eu fiz um projeto teste apenas para testar a mesma ideia de auditoria que você citou no tópico.

Fiz algo simples, apenas para teste mesmo, onde o método abaixo gravava em arquivo externo o usuário, view logada, data/local/hora e operação realizada pelo usuário, talvez já te ajude a implementar algo.

public static void gravaLog() throws IOException {
        File arquivo = new File("logTeste.txt");

        if (!arquivo.exists()) {
            arquivo.createNewFile();
        }
        List<String> lista = new ArrayList<>();
        lista.add("Usuario: "+TelaLogin.modelousuario.getNomlogin()+" - Tela acessada: "+this.getName()+" - Data/Loc/Hra: "+ LocalDateTime.now().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL))+" - Operação: "+modeloOperacao.getDesOperacao());

        Files.write(Paths.get(arquivo.getPath()), lista, StandardOpenOption.APPEND);
    }

lo4j e interceptors

Ola Raabs

São varias opções…

Como vai ser o logg?

  • Arquivo?
  • Banco relacional?
  • MongoDB?

Normalmente agente aplica AOP nas serviços gerando log automático usando Spring AOP ou CDI Interceptores.

Oi Fernando , ele pode ser em arquivo mesmo escrevendo enquanto as operações acontecem

Nesse caso segue as opções:

1 curtida

Auditoria de software não tem nada a ver com frameworks de log, e sim com assinaturas digitais criptográficas. Sei que é só um exercício de faculdade, mas é bom ter isso em mente quando for atuar no mundo real. Se for uma entrevista e pintar o assunto, se você fala em log4j, vai pagar um tremendo mico. :slight_smile: