[LOG4J2-2429] don't cascade on method invocations
diff --git a/log4j-audit/log4j-audit-api/src/main/java/org/apache/logging/log4j/audit/LogEventFactory.java b/log4j-audit/log4j-audit-api/src/main/java/org/apache/logging/log4j/audit/LogEventFactory.java
index 2362a50..119e78d 100644
--- a/log4j-audit/log4j-audit-api/src/main/java/org/apache/logging/log4j/audit/LogEventFactory.java
+++ b/log4j-audit/log4j-audit-api/src/main/java/org/apache/logging/log4j/audit/LogEventFactory.java
@@ -301,13 +301,15 @@
 				}
 
                 logEvent(msg, auditExceptionHandler);
+				return null;
 			}
             if (method.getName().equals("setCompletionStatus")) {
-                String name = NamingUtils.lowerFirst(NamingUtils.getMethodShortName(method.getName()));
                 if (objects == null || objects[0] == null) {
                     throw new IllegalArgumentException("Missing completion status");
                 }
+                String name = NamingUtils.lowerFirst(NamingUtils.getMethodShortName(method.getName()));
                 msg.put(name, objects[0].toString());
+                return null;
             }
             if (method.getName().equals("setAuditExceptionHandler")) {
 			    if (objects == null || objects[0] == null) {
@@ -317,6 +319,7 @@
                 } else {
 			        throw new IllegalArgumentException(objects[0] + " is not an " + AuditExceptionHandler.class.getName());
                 }
+                return null;
             }
 			if (method.getName().startsWith("set")) {
 				String name = NamingUtils.lowerFirst(NamingUtils.getMethodShortName(method.getName()));
@@ -355,6 +358,7 @@
                 }
 
 				msg.put(name, result);
+                return null;
 			}
 
 			return null;
diff --git a/log4j-audit/log4j-audit-api/src/test/java/org/apache/logging/log4j/audit/LoginTest.java b/log4j-audit/log4j-audit-api/src/test/java/org/apache/logging/log4j/audit/LoginTest.java
index 190ccd6..aa28ba3 100644
--- a/log4j-audit/log4j-audit-api/src/test/java/org/apache/logging/log4j/audit/LoginTest.java
+++ b/log4j-audit/log4j-audit-api/src/test/java/org/apache/logging/log4j/audit/LoginTest.java
@@ -20,9 +20,22 @@
 
         event.logEvent();
 
+        AuditExceptionHandler exceptionHandler = (message, ex) -> {
+
+        };
+        event.setAuditExceptionHandler(exceptionHandler);
+        event.logEvent();
+
         List<String> msgs = app.getMessages();
         assertNotNull("No messages", msgs);
-        assertTrue("No messages", msgs.size() == 2);
+        assertTrue("No messages", msgs.size() == 3);
+
+        String msg = msgs.get(1);
+        assertTrue("No completionStatus", msg.contains("completionStatus=\"Success\""));
+
+        msg = msgs.get(2);
+        assertTrue("auditExceptionHandler should not be present in the context", !msg.contains("auditExceptionHandler=\""));
+        msgs.forEach(System.out::println);
     }
 
     @Test