diff --git a/phosphor-regulators/src/error_logging.cpp b/phosphor-regulators/src/error_logging.cpp
index bc3d388..9ebce1a 100644
--- a/phosphor-regulators/src/error_logging.cpp
+++ b/phosphor-regulators/src/error_logging.cpp
@@ -86,6 +86,19 @@
              additionalData, journal);
 }
 
+void DBusErrorLogging::logPhaseFault(
+    Entry::Level severity, Journal& journal, PhaseFaultType type,
+    const std::string& inventoryPath,
+    std::map<std::string, std::string> additionalData)
+{
+    std::string message =
+        (type == PhaseFaultType::n)
+            ? "xyz.openbmc_project.Power.Regulators.Error.PhaseFault.N"
+            : "xyz.openbmc_project.Power.Regulators.Error.PhaseFault.NPlus1";
+    additionalData.emplace("CALLOUT_INVENTORY_PATH", inventoryPath);
+    logError(message, severity, additionalData, journal);
+}
+
 void DBusErrorLogging::logPMBusError(Entry::Level severity, Journal& journal,
                                      const std::string& inventoryPath)
 {
diff --git a/phosphor-regulators/src/error_logging.hpp b/phosphor-regulators/src/error_logging.hpp
index ba95561..e6abfbe 100644
--- a/phosphor-regulators/src/error_logging.hpp
+++ b/phosphor-regulators/src/error_logging.hpp
@@ -17,6 +17,7 @@
 
 #include "ffdc_file.hpp"
 #include "journal.hpp"
+#include "phase_fault.hpp"
 #include "xyz/openbmc_project/Logging/Create/server.hpp"
 #include "xyz/openbmc_project/Logging/Entry/server.hpp"
 
@@ -98,6 +99,23 @@
     virtual void logInternalError(Entry::Level severity, Journal& journal) = 0;
 
     /**
+     * Log a phase fault error.
+     *
+     * This error is logged when a regulator has lost a redundant phase.
+     *
+     * @param severity severity level
+     * @param journal system journal
+     * @param type phase fault type
+     * @param inventoryPath D-Bus inventory path of the device where the error
+     *                      occurred
+     * @param additionalData additional error data (if any)
+     */
+    virtual void
+        logPhaseFault(Entry::Level severity, Journal& journal,
+                      PhaseFaultType type, const std::string& inventoryPath,
+                      std::map<std::string, std::string> additionalData) = 0;
+
+    /**
      * Log a PMBus error.
      *
      * This error is logged when the I2C communication was successful, but the
@@ -168,6 +186,12 @@
     virtual void logInternalError(Entry::Level severity,
                                   Journal& journal) override;
 
+    /** @copydoc ErrorLogging::logPhaseFault() */
+    virtual void logPhaseFault(
+        Entry::Level severity, Journal& journal, PhaseFaultType type,
+        const std::string& inventoryPath,
+        std::map<std::string, std::string> additionalData) override;
+
     /** @copydoc ErrorLogging::logPMBusError() */
     virtual void logPMBusError(Entry::Level severity, Journal& journal,
                                const std::string& inventoryPath) override;
