Instantiate VPD write logger only on first use

This commit moves out the VPD write logger's instantiation from the
constructor of Logger. As part of VPD write logger instantiation, a log
file is created, which is unnecessary until a message has to be logged.
Hence, VPD write logger is now instantiated only on first use.

Test:
'''
- Install BMC firmware image
- Delete /var/lib/vpd folder
- Restart vpd-manager service
- Observe vpd-manager service starts as expected, no error logs or PELs
  with respect to manager instantiation
'''

Change-Id: I9244cd1e8b8ce09f0bae48fed0fd548445243f60
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>
diff --git a/vpd-manager/include/logger.hpp b/vpd-manager/include/logger.hpp
index 8dc8b55..1980b2b 100644
--- a/vpd-manager/include/logger.hpp
+++ b/vpd-manager/include/logger.hpp
@@ -333,11 +333,7 @@
     /**
      * @brief Constructor
      */
-    Logger() : m_vpdWriteLogger(nullptr), m_collectionLogger(nullptr)
-    {
-        m_vpdWriteLogger.reset(
-            new SyncFileLogger("/var/lib/vpd/vpdWrite.log", 128));
-    }
+    Logger() : m_vpdWriteLogger(nullptr), m_collectionLogger(nullptr) {}
 
     // Instance to the logger class.
     static std::shared_ptr<Logger> m_loggerInstance;
diff --git a/vpd-manager/src/logger.cpp b/vpd-manager/src/logger.cpp
index 7a66c16..504c3b2 100644
--- a/vpd-manager/src/logger.cpp
+++ b/vpd-manager/src/logger.cpp
@@ -37,8 +37,13 @@
                          l_log.str() + ">"
                   << std::endl;
     }
-    else if ((i_placeHolder == PlaceHolder::VPD_WRITE) && m_vpdWriteLogger)
+    else if (i_placeHolder == PlaceHolder::VPD_WRITE)
     {
+        if (!m_vpdWriteLogger)
+        {
+            m_vpdWriteLogger.reset(
+                new SyncFileLogger("/var/lib/vpd/vpdWrite.log", 128));
+        }
         m_vpdWriteLogger->logMessage(l_log.str());
     }
     else