diff --git a/bmc/buildjson.cpp b/bmc/buildjson.cpp
index 822e640..d1bb3de 100644
--- a/bmc/buildjson.cpp
+++ b/bmc/buildjson.cpp
@@ -192,8 +192,6 @@
 
 std::vector<HandlerConfig> BuildHandlerConfigs(const std::string& directory)
 {
-    using namespace phosphor::logging;
-
     std::vector<HandlerConfig> output;
 
     std::vector<std::string> jsonPaths = GetJsonList(directory);
@@ -203,17 +201,15 @@
         std::ifstream jsonFile(path);
         if (!jsonFile.is_open())
         {
-            log<level::ERR>("Unable to open json file",
-                            entry("PATH=%s", path.c_str()));
+            std::fprintf(stderr, "Unable to open json file: %s\n",
+                         path.c_str());
             continue;
         }
 
         auto data = nlohmann::json::parse(jsonFile, nullptr, false);
         if (data.is_discarded())
         {
-            log<level::ERR>("Parsing json failed",
-                            entry("PATH=%s", path.c_str()));
-            continue;
+            std::fprintf(stderr, "Parsing json failed: %s\n", path.c_str());
         }
 
         std::vector<HandlerConfig> configs = buildHandlerFromJson(data);
diff --git a/bmc/firmware_handler.cpp b/bmc/firmware_handler.cpp
index 9923d5b..917dbc4 100644
--- a/bmc/firmware_handler.cpp
+++ b/bmc/firmware_handler.cpp
@@ -33,8 +33,6 @@
 #include <string>
 #include <vector>
 
-using namespace phosphor::logging;
-
 namespace ipmi_flash
 {
 
@@ -46,7 +44,7 @@
     /* There must be at least one in addition to the hash blob handler. */
     if (firmwares.size() < 2)
     {
-        log<level::ERR>("Must provide at least two firmware handlers.");
+        std::fprintf(stderr, "Must provide at least two firmware handlers.");
         return nullptr;
     }
     if (transports.empty())
diff --git a/bmc/main.cpp b/bmc/main.cpp
index 48af9d0..f9b1d7a 100644
--- a/bmc/main.cpp
+++ b/bmc/main.cpp
@@ -138,9 +138,7 @@
 
     if (!handler)
     {
-        using namespace phosphor::logging;
-
-        log<level::ERR>("Firmware Handler has invalid configuration");
+        std::fprintf(stderr, "Firmware Handler has an invalid configuration");
         return nullptr;
     }
 
