PLDM: Implementing Phosphor-Logging/LG2 logging

This commit adds changes in PLDM for implementing
structured LG2 logging, thereby moving away from
std::cout/cerr practice of logging which are
output streams and not logging mechanism.

PLDM now can make use of lg2 features like accurate
CODE LINE Number and CODE_FUNCTION Name and better
detailing in json object values which can be used in
log tracking.

More detailed logging change:
https://gist.github.com/riyadixitagra/c251685c1ba84248181891f7bc282395

Tested:
Ran a power off, on, cycle, and reset-reload.

Change-Id: I0485035f15f278c3fd172f0581b053c1c37f3a5b
Signed-off-by: Riya Dixit <riyadixitagra@gmail.com>
diff --git a/libpldmresponder/event_parser.cpp b/libpldmresponder/event_parser.cpp
index 990ff7c..c88f3f5 100644
--- a/libpldmresponder/event_parser.cpp
+++ b/libpldmresponder/event_parser.cpp
@@ -1,5 +1,6 @@
 #include "event_parser.hpp"
 
+#include <phosphor-logging/lg2.hpp>
 #include <xyz/openbmc_project/Common/error.hpp>
 
 #include <filesystem>
@@ -7,9 +8,10 @@
 #include <iostream>
 #include <set>
 
+PHOSPHOR_LOG2_USING;
+
 namespace pldm::responder::events
 {
-
 namespace fs = std::filesystem;
 using InternalFailure =
     sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
@@ -27,8 +29,8 @@
     fs::path dir(dirPath);
     if (!fs::exists(dir) || fs::is_empty(dir))
     {
-        std::cerr << "Event config directory does not exist or empty, DIR="
-                  << dirPath << "\n";
+        error("Event config directory does not exist or empty, DIR={DIR_PATH}",
+              "DIR_PATH", dirPath.c_str());
         return;
     }
 
@@ -39,8 +41,9 @@
         auto data = Json::parse(jsonFile, nullptr, false);
         if (data.is_discarded())
         {
-            std::cerr << "Parsing Event state sensor JSON file failed, FILE="
-                      << file.path();
+            error(
+                "Parsing Event state sensor JSON file failed, FILE={FILE_PATH}",
+                "FILE_PATH", file.path().c_str());
             continue;
         }
 
@@ -69,11 +72,11 @@
                 (supportedDbusPropertyTypes.find(dbusInfo.propertyType) ==
                  supportedDbusPropertyTypes.end()))
             {
-                std::cerr << "Invalid dbus config,"
-                          << " OBJPATH=" << dbusInfo.objectPath << " INTERFACE="
-                          << dbusInfo.interface << " PROPERTY_NAME="
-                          << dbusInfo.propertyName
-                          << " PROPERTY_TYPE=" << dbusInfo.propertyType << "\n";
+                error(
+                    "Invalid dbus config, OBJPATH= {DBUS_OBJ_PATH} INTERFACE={DBUS_INTF} PROPERTY_NAME={DBUS_PROP} PROPERTY_TYPE={DBUS_PROP_TYPE}",
+                    "DBUS_OBJ_PATH", dbusInfo.objectPath.c_str(), "DBUS_INTF",
+                    dbusInfo.interface, "DBUS_PROP", dbusInfo.propertyName,
+                    "DBUS_PROP_TYPE", dbusInfo.propertyType);
                 continue;
             }
 
@@ -82,10 +85,10 @@
             if ((eventStates.size() == 0) || (propertyValues.size() == 0) ||
                 (eventStates.size() != propertyValues.size()))
             {
-                std::cerr << "Invalid event state JSON config,"
-                          << " EVENT_STATE_SIZE=" << eventStates.size()
-                          << " PROPERTY_VALUE_SIZE=" << propertyValues.size()
-                          << "\n";
+                error(
+                    "Invalid event state JSON config, EVENT_STATE_SIZE={EVENT_STATE_SIZE} PROPERTY_VALUE_SIZE={PROP_VAL_SIZE}",
+                    "EVENT_STATE_SIZE", eventStates.size(), "PROP_VAL_SIZE",
+                    propertyValues.size());
                 continue;
             }
 
@@ -127,8 +130,8 @@
         }
         catch (const std::out_of_range& e)
         {
-            std::cerr << "Invalid event state" << static_cast<unsigned>(state)
-                      << '\n';
+            error("Invalid event state {EVENT_STATE}", "EVENT_STATE",
+                  static_cast<unsigned>(state));
             return PLDM_ERROR_INVALID_DATA;
         }
 
@@ -138,10 +141,11 @@
         }
         catch (const std::exception& e)
         {
-            std::cerr << "Error setting property, ERROR=" << e.what()
-                      << " PROPERTY=" << dbusMapping.propertyName
-                      << " INTERFACE=" << dbusMapping.interface << " PATH="
-                      << dbusMapping.objectPath << "\n";
+            error(
+                "Error setting property, ERROR={ERR_EXCEP} PROPERTY={DBUS_PROP} INTERFACE={DBUS_INTF} PATH = {DBUS_OBJ_PATH}",
+                "ERR_EXCEP", e.what(), "DBUS_PROP", dbusMapping.propertyName,
+                "DBUS_INTF", dbusMapping.interface, "DBUS_OBJ_PATH",
+                dbusMapping.objectPath.c_str());
             return PLDM_ERROR;
         }
     }
@@ -153,4 +157,4 @@
     return PLDM_SUCCESS;
 }
 
-} // namespace pldm::responder::events
\ No newline at end of file
+} // namespace pldm::responder::events