com.avaje.ebean.event.readaudit.ReadAuditLogger Maven / Gradle / Ivy
package com.avaje.ebean.event.readaudit;
/**
* Log that the query was executed
*/
public interface ReadAuditLogger {
/**
* Called when a new query plan is created.
*
* The query plan has the full sql and logging the query plan separately means that each of
* the bean and many read events can log the query plan key and not the full sql (reducing the
* bulk size of the read audit logs).
*
*/
void queryPlan(ReadAuditQueryPlan queryPlan);
/**
* Audit a find bean query that returned a bean.
*
* Finds that did not return a bean are excluded.
*
*/
void auditBean(ReadEvent readBean);
/**
* Audit a find many query that returned some beans.
*
* Finds that did not return any beans are excluded.
*
*
* For large queries executed via findEach() etc the ids are collected in batches
* and logged. Hence the ids list has a maximum size of the batch size.
*
*/
void auditMany(ReadEvent readMany);
}