diff --git a/extensions/phal/clock_logger.cpp b/extensions/phal/clock_logger.cpp
index 5de6047..6376988 100644
--- a/extensions/phal/clock_logger.cpp
+++ b/extensions/phal/clock_logger.cpp
@@ -159,7 +159,7 @@
     addClockRegData(clockDataLog);
 
     openpower::pel::createPEL("org.open_power.PHAL.Info.ClockDailyLog",
-                              clockDataLog);
+                              clockDataLog, Severity::Informational);
 }
 
 void Manager::addCFAMData(struct pdbg_target* proc,
diff --git a/extensions/phal/create_pel.cpp b/extensions/phal/create_pel.cpp
index 6cbf305..c834419 100644
--- a/extensions/phal/create_pel.cpp
+++ b/extensions/phal/create_pel.cpp
@@ -239,7 +239,8 @@
     return plid;
 }
 
-void createPEL(const std::string& event, const FFDCData& ffdcData)
+void createPEL(const std::string& event, const FFDCData& ffdcData,
+               const Severity severity)
 {
     std::map<std::string, std::string> additionalData;
     auto bus = sdbusplus::bus::new_default();
@@ -258,8 +259,7 @@
                                           loggingInterface, "Create");
         auto level =
             sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage(
-                sdbusplus::xyz::openbmc_project::Logging::server::Entry::Level::
-                    Error);
+                severity);
         method.append(event, level, additionalData);
         auto resp = bus.call(method);
     }
diff --git a/extensions/phal/create_pel.hpp b/extensions/phal/create_pel.hpp
index ffd1315..a6256f5 100644
--- a/extensions/phal/create_pel.hpp
+++ b/extensions/phal/create_pel.hpp
@@ -55,8 +55,10 @@
  *
  *  @param[in]  event - the event type
  *  @param[in] ffdcData - failure data to append to PEL
+ *  @param[in] severity - severity of the log
  */
-void createPEL(const std::string& event, const FFDCData& ffdcData = {});
+void createPEL(const std::string& event, const FFDCData& ffdcData = {},
+               const Severity severity = Severity::Error);
 
 /**
  * @class FFDCFile
