diff --git a/read_fru_data.cpp b/read_fru_data.cpp
index a7a3256..510f0af 100644
--- a/read_fru_data.cpp
+++ b/read_fru_data.cpp
@@ -55,8 +55,8 @@
     {
         //If property is not found simply return empty value
         log<level::ERR>("Error in reading property values from inventory",
-            entry("Interface=%s", intf),
-            entry("Path=%s", objPath));
+                        entry("INTERFACE=%s", intf),
+                        entry("PATH=%s", objPath));
         return properties;
     }
     reply.read(properties);
diff --git a/sensorhandler.cpp b/sensorhandler.cpp
index 04402c1..582f16b 100644
--- a/sensorhandler.cpp
+++ b/sensorhandler.cpp
@@ -703,7 +703,8 @@
                                             &raw_cstr))
         {
             log<level::WARNING>("Unit interface missing.",
-                            entry("bus=%s, path=%s", iface.bus, iface.path));
+                                entry("BUS=%s", iface.bus),
+                                entry("PATH=%s", iface.path));
         }
         else
         {
@@ -766,7 +767,8 @@
                                         'x',
                                         &result)) {
             log<level::WARNING>("Scale interface missing.",
-                            entry("bus=%s, path=%s", iface.bus, iface.path));
+                                entry("BUS=%s", iface.bus),
+                                entry("PATH=%s", iface.path));
         }
     }
 
diff --git a/storagehandler.cpp b/storagehandler.cpp
index 123398b..8d9e93d 100644
--- a/storagehandler.cpp
+++ b/storagehandler.cpp
@@ -634,8 +634,9 @@
         if ((offset + reqptr->count) > size)
         {
             log<level::ERR>("Invalid offset and count",
-                entry("Offset=%d Count=%d SizeOfFruArea=%d",
-                offset, reqptr->count, size));
+                            entry("OFFSET=%s", offset),
+                            entry("COUNT=%s", reqptr->count),
+                            entry("SIZE_OF_FRU_AREA=%s", size));
             return IPMI_CC_INVALID;
         }
         std::copy((fruArea.begin() + offset), (fruArea.begin() + reqptr->count),
