diff --git a/redfish-core/lib/log_services.hpp b/redfish-core/lib/log_services.hpp
index 866238b..da4c5ab 100644
--- a/redfish-core/lib/log_services.hpp
+++ b/redfish-core/lib/log_services.hpp
@@ -1041,16 +1041,21 @@
 
 std::string getLogCreatedTime(const nlohmann::json &cpuLog)
 {
-    nlohmann::json::const_iterator metaIt = cpuLog.find("metadata");
-    if (metaIt != cpuLog.end())
+    nlohmann::json::const_iterator cdIt = cpuLog.find("crashlog_data");
+    if (cdIt != cpuLog.end())
     {
-        nlohmann::json::const_iterator tsIt = metaIt->find("timestamp");
-        if (tsIt != metaIt->end())
+        nlohmann::json::const_iterator siIt = cdIt->find("SYSTEM_INFO");
+        if (siIt != cdIt->end())
         {
-            const std::string *logTime = tsIt->get_ptr<const std::string *>();
-            if (logTime != nullptr)
+            nlohmann::json::const_iterator tsIt = siIt->find("timestamp");
+            if (tsIt != siIt->end())
             {
-                return *logTime;
+                const std::string *logTime =
+                    tsIt->get_ptr<const std::string *>();
+                if (logTime != nullptr)
+                {
+                    return *logTime;
+                }
             }
         }
     }
