ArgumentChecker.notNull(user, "User ID");
ArgumentChecker.notNull(user, "Originating system name");
ArgumentChecker.notNull(object, "Object ID");
ArgumentChecker.notNull(operation, "Operation name");
AuditLogEntry auditLogEntry = new AuditLogEntry(user, originatingSystem, object, operation, description, success, new Date());
boolean flushCache = false;
synchronized (this) {
_auditLogCache.add(auditLogEntry);
if (_auditLogCache.size() >= _batchSize) {
flushCache = true;