diff --git a/service/inc/pfr_mgr.hpp b/service/inc/pfr_mgr.hpp
index c8211d4..c0d6fd5 100644
--- a/service/inc/pfr_mgr.hpp
+++ b/service/inc/pfr_mgr.hpp
@@ -19,6 +19,7 @@
 #include "pfr.hpp"
 
 #include <boost/asio.hpp>
+#include <phosphor-logging/lg2.hpp>
 #include <phosphor-logging/log.hpp>
 #include <sdbusplus/asio/object_server.hpp>
 
diff --git a/service/src/mainapp.cpp b/service/src/mainapp.cpp
index 5560d5f..0a986f5 100644
--- a/service/src/mainapp.cpp
+++ b/service/src/mainapp.cpp
@@ -556,6 +556,7 @@
 static void updateCPLDversion(std::shared_ptr<sdbusplus::asio::connection> conn)
 {
     std::string cpldVersion = pfr::readCPLDVersion();
+    lg2::info("VERSION INFO - cpld_active - {VER}", "VER", cpldVersion);
     conn->async_method_call(
         [](const boost::system::error_code ec) {
             if (ec)
diff --git a/service/src/pfr_mgr.cpp b/service/src/pfr_mgr.cpp
index e2fdbfd..2fc73fd 100644
--- a/service/src/pfr_mgr.cpp
+++ b/service/src/pfr_mgr.cpp
@@ -19,6 +19,10 @@
 namespace pfr
 {
 
+inline void printVersion(const std::string& path, const std::string& version)
+{
+    lg2::info("VERSION INFO - {TYPE} - {VER}", "TYPE", path, "VER", version);
+}
 static constexpr uint8_t activeImage = 0;
 static constexpr uint8_t recoveryImage = 1;
 
@@ -34,6 +38,11 @@
 {
     version = getFirmwareVersion(imgType);
 
+    if (!(version == "0.0" || version.empty()))
+    {
+        printVersion(path, version);
+    }
+
     std::string objPath = "/xyz/openbmc_project/software/" + path;
     versionIface =
         server.add_interface(objPath, "xyz.openbmc_project.Software.Version");
@@ -112,6 +121,7 @@
     if (versionIface && versionIface->is_initialized())
     {
         std::string ver = getFirmwareVersion(imgType);
+        printVersion(path, ver);
         internalSet = true;
         versionIface->set_property(versionStr, ver);
         internalSet = false;
