diff --git a/extensions/openpower-pels/private_header.cpp b/extensions/openpower-pels/private_header.cpp
index 31e0f61..74d895c 100644
--- a/extensions/openpower-pels/private_header.cpp
+++ b/extensions/openpower-pels/private_header.cpp
@@ -19,8 +19,9 @@
 #include "log_id.hpp"
 #include "pel_types.hpp"
 #include "pel_values.hpp"
+#include "trace.hpp"
 
-#include <phosphor-logging/log.hpp>
+#include <fmt/format.h>
 
 namespace openpower
 {
@@ -28,7 +29,6 @@
 {
 
 namespace pv = openpower::pels::pel_values;
-using namespace phosphor::logging;
 
 PrivateHeader::PrivateHeader(uint16_t componentID, uint32_t obmcLogID,
                              uint64_t timestamp)
@@ -77,8 +77,8 @@
     }
     catch (const std::exception& e)
     {
-        log<level::ERR>("Cannot unflatten private header",
-                        entry("ERROR=%s", e.what()));
+        trace::error(
+            fmt::format("Cannot unflatten private header: {}", e.what()));
         _valid = false;
     }
 }
@@ -126,22 +126,22 @@
 
     if (header().id != static_cast<uint16_t>(SectionID::privateHeader))
     {
-        log<level::ERR>("Invalid private header section ID",
-                        entry("ID=0x%X", header().id));
+        trace::error(fmt::format("Invalid private header section ID: {:#X}",
+                                 header().id));
         failed = true;
     }
 
     if (header().version != privateHeaderVersion)
     {
-        log<level::ERR>("Invalid private header version",
-                        entry("VERSION=0x%X", header().version));
+        trace::error(fmt::format("Invalid private header version: {}",
+                                 header().version));
         failed = true;
     }
 
     if (_sectionCount < minSectionCount)
     {
-        log<level::ERR>("Invalid section count in private header",
-                        entry("SECTION_COUNT=0x%X", _sectionCount));
+        trace::error(fmt::format("Invalid section count in private header: {}",
+                                 _sectionCount));
         failed = true;
     }
 
