diff --git a/extensions/openpower-pels/manager.cpp b/extensions/openpower-pels/manager.cpp
index 4eb6772..2e6a07e 100644
--- a/extensions/openpower-pels/manager.cpp
+++ b/extensions/openpower-pels/manager.cpp
@@ -112,6 +112,9 @@
 
         try
         {
+            log<level::DEBUG>("Adding external PEL to repo",
+                              entry("PEL_ID=0x%X", pel->id()));
+
             _repo.add(pel);
         }
         catch (std::exception& e)
@@ -149,6 +152,9 @@
 {
     std::vector<uint8_t> data;
 
+    log<level::DEBUG>("Adding PEL from ESEL",
+                      entry("OBMC_LOG_ID=%d", obmcLogID));
+
     try
     {
         data = std::move(eselToRawData(esel));
@@ -256,6 +262,8 @@
     Repository::LogID id{Repository::LogID::Pel(pelID)};
     std::optional<int> fd;
 
+    log<level::DEBUG>("getPEL", entry("PEL_ID=0x%X", pelID));
+
     try
     {
         fd = _repo.getPELFD(id);
@@ -294,6 +302,8 @@
     Repository::LogID id{Repository::LogID::Obmc(obmcLogID)};
     std::optional<std::vector<uint8_t>> data;
 
+    log<level::DEBUG>("getPELFromOBMCID", entry("OBMC_LOG_ID=%d", obmcLogID));
+
     try
     {
         data = _repo.getPELData(id);
@@ -315,6 +325,8 @@
 {
     Repository::LogID id{Repository::LogID::Pel(pelID)};
 
+    log<level::DEBUG>("HostAck", entry("PEL_ID=0x%X", pelID));
+
     if (!_repo.hasPEL(id))
     {
         throw common_error::InvalidArgument();
@@ -330,6 +342,9 @@
 {
     Repository::LogID id{Repository::LogID::Pel(pelID)};
 
+    log<level::DEBUG>("HostReject", entry("PEL_ID=0x%X", pelID),
+                      entry("REASON=%d", static_cast<int>(reason)));
+
     if (!_repo.hasPEL(id))
     {
         throw common_error::InvalidArgument();
