1
resposta

Monitoramento

Boa Tarde

Gostaria de saber qual séria e melhor forma de salvar log de uma consulta no banco de dando. Quando o cliente favor uma consulta salvar alguns campos como ip, data , url o status.

1 resposta

Oi Aleksandro

Uma possibilidade é criar um interceptor que irá gravar todas as consultas, exemplos:

public class MySQLInterceptor extends EmptyInterceptor {
    @Override
    public String onPrepareStatement(String sql) {
        System.out.println("Query intercepted: " + sql);
        return super.onPrepareStatement(sql);
    }
}

no seu application.properties configurar a chave:

spring.jpa.properties.hibernate.session_factory.interceptor=com.yourpacakge.MySQLInterceptor

documentação de referência: https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#events