diff --git a/dump-extensions/openpower-dumps/dump_manager_system.cpp b/dump-extensions/openpower-dumps/dump_manager_system.cpp
index 558b0e3..af8972a 100644
--- a/dump-extensions/openpower-dumps/dump_manager_system.cpp
+++ b/dump-extensions/openpower-dumps/dump_manager_system.cpp
@@ -7,10 +7,9 @@
 #include "system_dump_entry.hpp"
 #include "xyz/openbmc_project/Common/error.hpp"
 
-#include <fmt/core.h>
-
 #include <phosphor-logging/elog-errors.hpp>
 #include <phosphor-logging/elog.hpp>
+#include <phosphor-logging/lg2.hpp>
 
 namespace openpower
 {
@@ -64,12 +63,12 @@
     }
     catch (const std::invalid_argument& e)
     {
-        log<level::ERR>(
-            fmt::format(
-                "Error in creating system dump entry, errormsg({}), "
-                "OBJECTPATH({}), ID({}), TIMESTAMP({}),SIZE({}), SOURCEID({})",
-                e.what(), objPath.c_str(), id, timeStamp, size, dumpId)
-                .c_str());
+        lg2::error(
+            "Error in creating system dump entry, errormsg: {ERROR}, "
+            "OBJECTPATH: {OBJECT_PATH}, ID: {ID}, TIMESTAMP: {TIMESTAMP}, "
+            "SIZE: {SIZE}, SOURCEID: {SOURCE_ID}",
+            "ERROR", e, "OBJECT_PATH", objPath, "ID", id, "TIMESTAMP",
+            timeStamp, "SIZE", size, "SOURCE_ID", dumpId);
         report<InternalFailure>();
         return;
     }
@@ -87,7 +86,7 @@
 
     if (params.size() > CREATE_DUMP_MAX_PARAMS)
     {
-        log<level::WARNING>(
+        lg2::warning(
             "System dump accepts not more than 2 additional parameters");
     }
 
@@ -135,11 +134,9 @@
     }
     catch (const std::invalid_argument& e)
     {
-        log<level::ERR>(
-            fmt::format("Error in creating system dump entry, errormsg({}), "
-                        "OBJECTPATH({}), ID({})",
-                        e.what(), objPath.c_str(), id)
-                .c_str());
+        lg2::error("Error in creating system dump entry, errormsg: {ERROR}, "
+                   "OBJECTPATH: {OBJECT_PATH}, ID: {ID}",
+                   "ERROR", e, "OBJECT_PATH", objPath, "ID", id);
         elog<InternalFailure>();
         return std::string();
     }
