Add PEL via logger class

The code implements the logic in logger class to handle placeholder PEL.
Post this caller will have to pass the required tuple and placeholder
and logger class will take care of logging a PEL against that.

Change-Id: I836e6d53ccb254fdb68c454a1115d87b242b82e2
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
diff --git a/vpd-manager/src/logger.cpp b/vpd-manager/src/logger.cpp
index 742cf27..4875e9f 100644
--- a/vpd-manager/src/logger.cpp
+++ b/vpd-manager/src/logger.cpp
@@ -1,5 +1,7 @@
 #include "logger.hpp"
 
+#include <utility/event_logger_utility.hpp>
+
 #include <regex>
 #include <sstream>
 
@@ -47,8 +49,21 @@
         {
             if (i_pelTuple)
             {
-                // LOG PEL
-                // This should call create PEL API from the event logger.
+                // By default set severity to informational
+                types::SeverityType l_severity =
+                    types::SeverityType::Informational;
+
+                if (std::get<1>(*i_pelTuple).has_value())
+                {
+                    l_severity = (std::get<1>(*i_pelTuple)).value();
+                }
+
+                EventLogger::createSyncPel(
+                    std::get<0>(*i_pelTuple), l_severity,
+                    i_location.file_name(), i_location.function_name(),
+                    std::get<2>(*i_pelTuple), std::string(i_message),
+                    std::get<3>(*i_pelTuple), std::get<4>(*i_pelTuple),
+                    std::get<5>(*i_pelTuple), std::get<6>(*i_pelTuple));
                 return;
             }
             std::cout << "Pel info tuple required to log PEL for message <" +