diff --git a/phosphor-power-supply/main.cpp b/phosphor-power-supply/main.cpp
index 6d7c853..9dfe476 100644
--- a/phosphor-power-supply/main.cpp
+++ b/phosphor-power-supply/main.cpp
@@ -28,8 +28,6 @@
 {
     try
     {
-        using namespace phosphor::logging;
-
         CLI::App app{"OpenBMC Power Supply Unit Monitor"};
 
         auto bus = sdbusplus::bus::new_default();
diff --git a/phosphor-power-supply/power_supply.cpp b/phosphor-power-supply/power_supply.cpp
index 331b4ba..65e7b62 100644
--- a/phosphor-power-supply/power_supply.cpp
+++ b/phosphor-power-supply/power_supply.cpp
@@ -22,7 +22,6 @@
 // missing to present before running the bind command(s).
 constexpr auto bindDelay = 1000;
 
-using namespace phosphor::logging;
 using namespace sdbusplus::xyz::openbmc_project::Common::Device::Error;
 
 PowerSupply::PowerSupply(
diff --git a/phosphor-power-supply/psu_manager.cpp b/phosphor-power-supply/psu_manager.cpp
index 51cb5cb..1f72440 100644
--- a/phosphor-power-supply/psu_manager.cpp
+++ b/phosphor-power-supply/psu_manager.cpp
@@ -14,8 +14,6 @@
 #include <regex>
 #include <set>
 
-using namespace phosphor::logging;
-
 namespace phosphor::power::manager
 {
 constexpr auto managerBusName = "xyz.openbmc_project.Power.PSUMonitor";
diff --git a/phosphor-power-supply/psu_manager.hpp b/phosphor-power-supply/psu_manager.hpp
index 01c56c2..d86e0e2 100644
--- a/phosphor-power-supply/psu_manager.hpp
+++ b/phosphor-power-supply/psu_manager.hpp
@@ -20,7 +20,6 @@
 };
 
 using namespace phosphor::power::psu;
-using namespace phosphor::logging;
 
 namespace phosphor::power::manager
 {
diff --git a/phosphor-power-supply/util.cpp b/phosphor-power-supply/util.cpp
index 73c7ff5..35c35ca 100644
--- a/phosphor-power-supply/util.cpp
+++ b/phosphor-power-supply/util.cpp
@@ -41,8 +41,6 @@
 
 int GPIOInterface::read()
 {
-    using namespace phosphor::logging;
-
     int value = -1;
 
     if (!line)
@@ -79,8 +77,6 @@
 
 void GPIOInterface::write(int value, std::bitset<32> flags)
 {
-    using namespace phosphor::logging;
-
     if (!line)
     {
         lg2::error("Failed line in GPIOInterface::write");
diff --git a/phosphor-power-supply/util.hpp b/phosphor-power-supply/util.hpp
index 58bab67..dc28ffe 100644
--- a/phosphor-power-supply/util.hpp
+++ b/phosphor-power-supply/util.hpp
@@ -41,7 +41,6 @@
     void setPresence(sdbusplus::bus_t& bus, const std::string& invpath,
                      bool present, const std::string& name) const override
     {
-        using namespace phosphor::logging;
         lg2::info("Updating inventory present property. "
                   "present:{PRESENT} invpath:{INVPATH} name:{NAME}",
                   "PRESENT", present, "INVPATH", invpath, "NAME", name);
@@ -81,7 +80,7 @@
             lg2::error(
                 "Error in inventory manager call to update inventory: {ERROR}",
                 "ERROR", e);
-            elog<InternalFailure>();
+            phosphor::logging::elog<InternalFailure>();
         }
     }
 
@@ -110,7 +109,6 @@
         }
         catch (const sdbusplus::exception_t& e)
         {
-            using namespace phosphor::logging;
             lg2::error("Error in inventory manager call to update "
                        "availability interface: {ERROR}",
                        "ERROR", e);
@@ -181,7 +179,6 @@
         }
         catch (const sdbusplus::exception_t& e)
         {
-            using namespace phosphor::logging;
             lg2::info("Error trying to handle health rollup "
                       "associations for {INVPATH}: {ERROR}",
                       "INVPATH", invpath, "ERROR", e);
