diff --git a/extensions/openpower-pels/tools/peltool.cpp b/extensions/openpower-pels/tools/peltool.cpp
index 98572a8..c1c6da6 100644
--- a/extensions/openpower-pels/tools/peltool.cpp
+++ b/extensions/openpower-pels/tools/peltool.cpp
@@ -21,21 +21,21 @@
 #include "../pel.hpp"
 #include "../pel_types.hpp"
 #include "../pel_values.hpp"
-#include "trace.hpp"
 
 #include <Python.h>
-#include <fmt/format.h>
 
 #include <CLI/CLI.hpp>
 #include <bitset>
 #include <fstream>
 #include <iostream>
+#include <phosphor-logging/log.hpp>
 #include <regex>
 #include <string>
 
 #include "config_main.h"
 
 namespace fs = std::filesystem;
+using namespace phosphor::logging;
 using namespace openpower::pels;
 namespace message = openpower::pels::message;
 namespace pv = openpower::pels::pel_values;
@@ -318,7 +318,8 @@
         std::vector<uint8_t> data = getFileData(fileName);
         if (data.empty())
         {
-            trace::error(fmt::format("Empty PEL file {}", fileName));
+            log<level::ERR>("Empty PEL file",
+                            entry("FILENAME=%s", fileName.c_str()));
             return listStr;
         }
         PEL pel{data};
@@ -441,8 +442,9 @@
     }
     catch (const std::exception& e)
     {
-        trace::error(fmt::format("Hit exception when reading PEL file {}: {}",
-                                 fileName, e.what()));
+        log<level::ERR>("Hit exception while reading PEL File",
+                        entry("FILENAME=%s", fileName.c_str()),
+                        entry("ERROR=%s", e.what()));
     }
     return listStr;
 }
@@ -644,7 +646,7 @@
  */
 void deleteAllPELs()
 {
-    trace::info("peltool deleting all event logs");
+    log<level::INFO>("peltool deleting all event logs");
 
     for (const auto& entry : fs::directory_iterator(pelLogDir()))
     {
