diff --git a/extensions/openpower-pels/fapi_data_process.cpp b/extensions/openpower-pels/fapi_data_process.cpp
index e74e2c0..ad2957c 100644
--- a/extensions/openpower-pels/fapi_data_process.cpp
+++ b/extensions/openpower-pels/fapi_data_process.cpp
@@ -105,6 +105,10 @@
         return continueTgtTraversal;
     }
 
+    // Found Target, now collect the required attributes associated to the
+    // target. Incase of any attribute read failure, initialize the data with
+    // default value.
+
     try
     {
         // Get location code information
@@ -121,14 +125,17 @@
 
     if (DT_GET_PROP(ATTR_PHYS_DEV_PATH, target, targetInfo->physDevPath))
     {
-        log<level::ERR>("Could not read PHYS_DEV_PATH attribute");
-        return requireAttrNotFound;
+        log<level::ERR>(
+            fmt::format("Could not read({}) PHYS_DEV_PATH attribute",
+                        pdbg_target_path(target))
+                .c_str());
     }
 
     if (DT_GET_PROP(ATTR_MRU_ID, target, targetInfo->mruId))
     {
-        log<level::ERR>("Could not read MRU_ID attribute");
-        return requireAttrNotFound;
+        log<level::ERR>(fmt::format("Could not read({}) ATTR_MRU_ID attribute",
+                                    pdbg_target_path(target))
+                            .c_str());
     }
 
     return requireAttrFound;
