Closes #5
diff --git a/log4j-audit/log4j-audit-api/src/main/java/org/apache/logging/log4j/audit/AbstractEventLogger.java b/log4j-audit/log4j-audit-api/src/main/java/org/apache/logging/log4j/audit/AbstractEventLogger.java
index da2254a..22ec90f 100644
--- a/log4j-audit/log4j-audit-api/src/main/java/org/apache/logging/log4j/audit/AbstractEventLogger.java
+++ b/log4j-audit/log4j-audit-api/src/main/java/org/apache/logging/log4j/audit/AbstractEventLogger.java
@@ -21,6 +21,7 @@
import org.apache.logging.log4j.ThreadContext;
import org.apache.logging.log4j.audit.catalog.CatalogManager;
import org.apache.logging.log4j.audit.exception.AuditException;
+import org.apache.logging.log4j.audit.util.NamingUtils;
import org.apache.logging.log4j.catalog.api.Attribute;
import org.apache.logging.log4j.catalog.api.Constraint;
import org.apache.logging.log4j.catalog.api.Event;
@@ -79,28 +80,24 @@
}
public void logEvent(String eventName, Map<String, String> attributes) {
- Event event = catalogManager.getEvent(eventName);
- if (event == null) {
- throw new AuditException("Unable to locate definition of audit event " + eventName);
- }
- logEvent(eventName, attributes, event, defaultAuditExceptionHandler);
+ logEvent(eventName, null, attributes, defaultAuditExceptionHandler);
}
public void logEvent(String eventName, String catalogId, Map<String, String> attributes) {
- Event event = catalogManager.getEvent(eventName, catalogId);
- if (event == null) {
- throw new AuditException("Unable to locate definition of audit event " + eventName);
- }
- logEvent(eventName, attributes, event, defaultAuditExceptionHandler);
+ logEvent(eventName, catalogId, attributes, defaultAuditExceptionHandler);
}
public void logEvent(String eventName, Map<String, String> attributes, AuditExceptionHandler exceptionHandler) {
- Event event = catalogManager.getEvent(eventName);
+ logEvent(eventName, null, attributes, exceptionHandler);
+ }
+ private void logEvent(String eventName, String catalogId, Map<String, String> attributes, AuditExceptionHandler exceptionHandler) {
+ String eventId = NamingUtils.lowerFirst(eventName);
+ Event event = catalogId == null ? catalogManager.getEvent(eventId) : catalogManager.getEvent(eventId, catalogId);
if (event == null) {
- throw new AuditException("Unable to locate definition of audit event " + eventName);
+ throw new AuditException("Unable to locate definition of audit event " + eventId);
}
- logEvent(eventName, attributes, event, exceptionHandler);
+ logEvent(eventId, attributes, event, exceptionHandler);
}
protected abstract void logEvent(StructuredDataMessage message);
diff --git a/log4j-audit/log4j-audit-api/src/test/java/org/apache/logging/log4j/audit/AuditLoggerTest.java b/log4j-audit/log4j-audit-api/src/test/java/org/apache/logging/log4j/audit/AuditLoggerTest.java
index abe6eb8..77ee464 100644
--- a/log4j-audit/log4j-audit-api/src/test/java/org/apache/logging/log4j/audit/AuditLoggerTest.java
+++ b/log4j-audit/log4j-audit-api/src/test/java/org/apache/logging/log4j/audit/AuditLoggerTest.java
@@ -85,7 +85,7 @@
properties.put("fromAccount", "111111");
properties.put("amount", "111.55");
try {
- auditLogger.logEvent("transfer", properties);
+ auditLogger.logEvent("Transfer", properties);
} catch (Exception ex) {
ex.printStackTrace();
fail();
@@ -94,6 +94,7 @@
assertNotNull("No messages", msgs);
assertTrue("No messages", msgs.size() == 1);
String msg = msgs.get(0);
+ assertTrue("Normalized event name", msg.contains("transfer@"));
assertTrue("No companyId", msg.contains("companyId=\"12345\""));
assertTrue("No ipAddress", msg.contains("ipAddress=\"127.0.0.1\""));
assertTrue("No toAccount", msg.contains("toAccount=\"123456\""));
@@ -110,6 +111,6 @@
Map<String, String> properties = new HashMap<String, String>();
properties.put("toAccount", "123456");
properties.put("amount", "111.55");
- auditLogger.logEvent("transfer", properties);
+ auditLogger.logEvent("Transfer", properties);
}
}