diff --git a/src/sel_logger.cpp b/src/sel_logger.cpp
index 7fb19ef..fda9587 100644
--- a/src/sel_logger.cpp
+++ b/src/sel_logger.cpp
@@ -156,11 +156,11 @@
 
 #ifdef SEL_LOGGER_SEND_TO_LOGGING_SERVICE
     using namespace xyz::openbmc_project::Logging::SEL;
-    report<SELCreated>(
+    auto entryID = report<SELCreated>(
         Created::RECORD_TYPE(selSystemType), Created::GENERATOR_ID(genId),
         Created::SENSOR_DATA(selDataStr.c_str()), Created::EVENT_DIR(assert),
         Created::SENSOR_PATH(path.c_str()));
-    return 0;
+    return static_cast<uint16_t>(entryID);
 #else
     unsigned int recordId = getNewRecordId();
     sd_journal_send("MESSAGE=%s", message.c_str(), "PRIORITY=%i", selPriority,
@@ -188,11 +188,11 @@
 
 #ifdef SEL_LOGGER_SEND_TO_LOGGING_SERVICE
     using namespace xyz::openbmc_project::Logging::SEL;
-    report<SELCreated>(Created::RECORD_TYPE(recordType),
-                       Created::GENERATOR_ID(0),
-                       Created::SENSOR_DATA(selDataStr.c_str()),
-                       Created::EVENT_DIR(0), Created::SENSOR_PATH(""));
-    return 0;
+    auto entryID = report<SELCreated>(
+        Created::RECORD_TYPE(recordType), Created::GENERATOR_ID(0),
+        Created::SENSOR_DATA(selDataStr.c_str()), Created::EVENT_DIR(0),
+        Created::SENSOR_PATH(""));
+    return static_cast<uint16_t>(entryID);
 #else
     unsigned int recordId = getNewRecordId();
     sd_journal_send("MESSAGE=%s", message.c_str(), "PRIORITY=%i", selPriority,
