diff --git a/lib/lg2_commit.cpp b/lib/lg2_commit.cpp
index 4d75594..6f11a4c 100644
--- a/lib/lg2_commit.cpp
+++ b/lib/lg2_commit.cpp
@@ -1,3 +1,5 @@
+#include "lg2_commit.hpp"
+
 #include <sys/syslog.h>
 
 #include <nlohmann/json.hpp>
@@ -117,4 +119,19 @@
                 data_from_json(t));
 }
 
+auto extractEvent(sdbusplus::exception::generated_event_base&& t)
+    -> std::tuple<std::string, Entry::Level, std::vector<std::string>>
+{
+    auto data = data_from_json(t);
+    std::vector<std::string> additional_data = {};
+
+    for (auto& [key, data] : data)
+    {
+        additional_data.emplace_back(key + "=" + data);
+    }
+
+    return {t.name(), severity_from_syslog(t.severity()),
+            std::move(additional_data)};
+}
+
 } // namespace lg2::details
diff --git a/lib/lg2_commit.hpp b/lib/lg2_commit.hpp
new file mode 100644
index 0000000..db6bab0
--- /dev/null
+++ b/lib/lg2_commit.hpp
@@ -0,0 +1,22 @@
+#pragma once
+#include <sdbusplus/exception.hpp>
+#include <xyz/openbmc_project/Logging/Entry/client.hpp>
+
+#include <string>
+#include <tuple>
+#include <vector>
+
+namespace lg2::details
+{
+
+using Entry = sdbusplus::client::xyz::openbmc_project::logging::Entry<>;
+
+/** Extract the message, level, and additional data from agenerated event.
+ *
+ *  @param[in] The event to extract data from.
+ *  @return A tuple containing the message, level, and additional data.
+ */
+auto extractEvent(sdbusplus::exception::generated_event_base&&)
+    -> std::tuple<std::string, Entry::Level, std::vector<std::string>>;
+
+} // namespace lg2::details
