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);
}
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.