diff --git a/extensions/openpower-pels/host_notifier.cpp b/extensions/openpower-pels/host_notifier.cpp
index b268c9c..8760a8b 100644
--- a/extensions/openpower-pels/host_notifier.cpp
+++ b/extensions/openpower-pels/host_notifier.cpp
@@ -168,6 +168,8 @@
         return;
     }
 
+    log<level::DEBUG>("new PEL added to queue", entry("PEL_ID=0x%X", pel.id()));
+
     _pelQueue.push_back(pel.id());
 
     // Notify shouldn't happen if host is down or full
@@ -284,6 +286,10 @@
         {
             auto size = static_cast<size_t>(
                 std::filesystem::file_size((*attributes).get().path));
+
+            log<level::DEBUG>("sendNewLogCmd", entry("PEL_ID=0x%X", id),
+                              entry("PEL_SIZE=%d", size));
+
             auto rc = _hostIface->sendNewLogCmd(id, size);
 
             if (rc == CmdStatus::success)
@@ -314,10 +320,14 @@
 
     if (hostUp && !_pelQueue.empty())
     {
+        log<level::DEBUG>("Host state change to on");
+
         doNewLogNotify();
     }
     else if (!hostUp)
     {
+        log<level::DEBUG>("Host state change to off");
+
         stopCommand();
 
         // Reset the state on any PELs that were sent but not acked back
@@ -344,6 +354,8 @@
 
     if (status == ResponseStatus::success)
     {
+        log<level::DEBUG>("HostNotifier command response success",
+                          entry("PEL_ID=0x%X", id));
         _retryCount = 0;
 
         _sentPELs.push_back(id);
@@ -379,6 +391,7 @@
 
 void HostNotifier::hostFullTimerExpired()
 {
+    log<level::DEBUG>("Host full timer expired, trying send again");
     doNewLogNotify();
 }
 
@@ -422,6 +435,8 @@
     {
         _hostFull = false;
 
+        log<level::DEBUG>("Host previously full, not anymore after this ack");
+
         // Start sending PELs again, from the event loop
         if (!_pelQueue.empty())
         {
@@ -454,6 +469,7 @@
     // host is full is from this timer callback.
     if (!_hostFullTimer.isEnabled())
     {
+        log<level::DEBUG>("Starting host full timer");
         _hostFullTimer.restartOnce(_hostIface->getHostFullRetryDelay());
     }
 }
