diff --git a/phosphor-regulators/src/actions/action.hpp b/phosphor-regulators/src/actions/action.hpp
index 4cbe76d..81b7b4d 100644
--- a/phosphor-regulators/src/actions/action.hpp
+++ b/phosphor-regulators/src/actions/action.hpp
@@ -17,6 +17,8 @@
 
 #include "action_environment.hpp"
 
+#include <string>
+
 namespace phosphor::power::regulators
 {
 
@@ -54,6 +56,18 @@
      *         indicate if the action was successfully executed.
      */
     virtual bool execute(ActionEnvironment& environment) = 0;
+
+    /**
+     * Returns a string description of this action.
+     *
+     * The description should include the action name, properties, and property
+     * values.
+     *
+     * The description is used in journal entries and error logs.
+     *
+     * @return description of action
+     */
+    virtual std::string toString() const = 0;
 };
 
 } // namespace phosphor::power::regulators
diff --git a/phosphor-regulators/src/actions/and_action.hpp b/phosphor-regulators/src/actions/and_action.hpp
index cb934b4..f4c3fca 100644
--- a/phosphor-regulators/src/actions/and_action.hpp
+++ b/phosphor-regulators/src/actions/and_action.hpp
@@ -19,6 +19,7 @@
 #include "action_environment.hpp"
 
 #include <memory>
+#include <string>
 #include <utility>
 #include <vector>
 
@@ -93,6 +94,16 @@
         return actions;
     }
 
+    /**
+     * Returns a string description of this action.
+     *
+     * @return description of action
+     */
+    virtual std::string toString() const override
+    {
+        return "and: [ ... ]";
+    }
+
   private:
     /**
      * Actions to execute.
diff --git a/phosphor-regulators/src/actions/if_action.hpp b/phosphor-regulators/src/actions/if_action.hpp
index 13b9860..10b2f5b 100644
--- a/phosphor-regulators/src/actions/if_action.hpp
+++ b/phosphor-regulators/src/actions/if_action.hpp
@@ -19,6 +19,7 @@
 #include "action_environment.hpp"
 
 #include <memory>
+#include <string>
 #include <utility>
 #include <vector>
 
@@ -126,6 +127,22 @@
         return elseActions;
     }
 
+    /**
+     * Returns a string description of this action.
+     *
+     * @return description of action
+     */
+    virtual std::string toString() const override
+    {
+        std::string description{"if: { condition: { ... }, then: [ ... ]"};
+        if (elseActions.size() > 0)
+        {
+            description += ", else: [ ... ]";
+        }
+        description += " }";
+        return description;
+    }
+
   private:
     /**
      * Action that tests whether the condition is true.
diff --git a/phosphor-regulators/src/actions/not_action.hpp b/phosphor-regulators/src/actions/not_action.hpp
index 824a763..762f5b5 100644
--- a/phosphor-regulators/src/actions/not_action.hpp
+++ b/phosphor-regulators/src/actions/not_action.hpp
@@ -19,6 +19,7 @@
 #include "action_environment.hpp"
 
 #include <memory>
+#include <string>
 #include <utility>
 
 namespace phosphor::power::regulators
@@ -79,6 +80,16 @@
         return action;
     }
 
+    /**
+     * Returns a string description of this action.
+     *
+     * @return description of action
+     */
+    virtual std::string toString() const override
+    {
+        return "not: { ... }";
+    }
+
   private:
     /**
      * Action to execute.
diff --git a/phosphor-regulators/src/actions/or_action.hpp b/phosphor-regulators/src/actions/or_action.hpp
index 7adcc6f..5dcff7a 100644
--- a/phosphor-regulators/src/actions/or_action.hpp
+++ b/phosphor-regulators/src/actions/or_action.hpp
@@ -19,6 +19,7 @@
 #include "action_environment.hpp"
 
 #include <memory>
+#include <string>
 #include <utility>
 #include <vector>
 
@@ -93,6 +94,16 @@
         return actions;
     }
 
+    /**
+     * Returns a string description of this action.
+     *
+     * @return description of action
+     */
+    virtual std::string toString() const override
+    {
+        return "or: [ ... ]";
+    }
+
   private:
     /**
      * Actions to execute.
diff --git a/phosphor-regulators/src/actions/run_rule_action.hpp b/phosphor-regulators/src/actions/run_rule_action.hpp
index 8e84a89..6cf63ac 100644
--- a/phosphor-regulators/src/actions/run_rule_action.hpp
+++ b/phosphor-regulators/src/actions/run_rule_action.hpp
@@ -89,6 +89,16 @@
         return ruleID;
     }
 
+    /**
+     * Returns a string description of this action.
+     *
+     * @return description of action
+     */
+    virtual std::string toString() const override
+    {
+        return "run_rule: " + ruleID;
+    }
+
   private:
     /**
      * Rule ID.
diff --git a/phosphor-regulators/src/actions/set_device_action.hpp b/phosphor-regulators/src/actions/set_device_action.hpp
index 7942840..955891e 100644
--- a/phosphor-regulators/src/actions/set_device_action.hpp
+++ b/phosphor-regulators/src/actions/set_device_action.hpp
@@ -75,6 +75,16 @@
         return deviceID;
     }
 
+    /**
+     * Returns a string description of this action.
+     *
+     * @return description of action
+     */
+    virtual std::string toString() const override
+    {
+        return "set_device: " + deviceID;
+    }
+
   private:
     /**
      * Device ID.
diff --git a/phosphor-regulators/test/actions/and_action_tests.cpp b/phosphor-regulators/test/actions/and_action_tests.cpp
index 65f91e6..3b62273 100644
--- a/phosphor-regulators/test/actions/and_action_tests.cpp
+++ b/phosphor-regulators/test/actions/and_action_tests.cpp
@@ -162,3 +162,12 @@
     EXPECT_EQ(andAction.getActions()[0].get(), action1);
     EXPECT_EQ(andAction.getActions()[1].get(), action2);
 }
+
+TEST(AndActionTests, ToString)
+{
+    std::vector<std::unique_ptr<Action>> actions{};
+    actions.push_back(std::make_unique<MockAction>());
+
+    AndAction andAction{std::move(actions)};
+    EXPECT_EQ(andAction.toString(), "and: [ ... ]");
+}
diff --git a/phosphor-regulators/test/actions/if_action_tests.cpp b/phosphor-regulators/test/actions/if_action_tests.cpp
index 1f67f27..87f2f9e 100644
--- a/phosphor-regulators/test/actions/if_action_tests.cpp
+++ b/phosphor-regulators/test/actions/if_action_tests.cpp
@@ -298,3 +298,36 @@
     EXPECT_EQ(ifAction.getElseActions()[0].get(), elseAction1);
     EXPECT_EQ(ifAction.getElseActions()[1].get(), elseAction2);
 }
+
+TEST(IfActionTests, ToString)
+{
+    // Test where else clause is not specified
+    {
+        std::unique_ptr<Action> conditionAction =
+            std::make_unique<MockAction>();
+
+        std::vector<std::unique_ptr<Action>> thenActions{};
+        thenActions.push_back(std::make_unique<MockAction>());
+
+        IfAction ifAction{std::move(conditionAction), std::move(thenActions)};
+        EXPECT_EQ(ifAction.toString(),
+                  "if: { condition: { ... }, then: [ ... ] }");
+    }
+
+    // Test where else clause is specified
+    {
+        std::unique_ptr<Action> conditionAction =
+            std::make_unique<MockAction>();
+
+        std::vector<std::unique_ptr<Action>> thenActions{};
+        thenActions.push_back(std::make_unique<MockAction>());
+
+        std::vector<std::unique_ptr<Action>> elseActions{};
+        elseActions.push_back(std::make_unique<MockAction>());
+
+        IfAction ifAction{std::move(conditionAction), std::move(thenActions),
+                          std::move(elseActions)};
+        EXPECT_EQ(ifAction.toString(),
+                  "if: { condition: { ... }, then: [ ... ], else: [ ... ] }");
+    }
+}
diff --git a/phosphor-regulators/test/actions/mock_action.hpp b/phosphor-regulators/test/actions/mock_action.hpp
index 84455dd..bb48960 100644
--- a/phosphor-regulators/test/actions/mock_action.hpp
+++ b/phosphor-regulators/test/actions/mock_action.hpp
@@ -18,6 +18,8 @@
 #include "action.hpp"
 #include "action_environment.hpp"
 
+#include <string>
+
 #include <gmock/gmock.h>
 
 namespace phosphor::power::regulators
@@ -35,6 +37,7 @@
     virtual ~MockAction() = default;
 
     MOCK_METHOD(bool, execute, (ActionEnvironment & environment), (override));
+    MOCK_METHOD(std::string, toString, (), (const, override));
 };
 
 } // namespace phosphor::power::regulators
diff --git a/phosphor-regulators/test/actions/not_action_tests.cpp b/phosphor-regulators/test/actions/not_action_tests.cpp
index c53df7f..8e89862 100644
--- a/phosphor-regulators/test/actions/not_action_tests.cpp
+++ b/phosphor-regulators/test/actions/not_action_tests.cpp
@@ -96,3 +96,9 @@
     NotAction notAction{std::unique_ptr<Action>{action}};
     EXPECT_EQ(notAction.getAction().get(), action);
 }
+
+TEST(NotActionTests, ToString)
+{
+    NotAction notAction{std::make_unique<MockAction>()};
+    EXPECT_EQ(notAction.toString(), "not: { ... }");
+}
diff --git a/phosphor-regulators/test/actions/or_action_tests.cpp b/phosphor-regulators/test/actions/or_action_tests.cpp
index 6e33d69..b2c89d1 100644
--- a/phosphor-regulators/test/actions/or_action_tests.cpp
+++ b/phosphor-regulators/test/actions/or_action_tests.cpp
@@ -162,3 +162,12 @@
     EXPECT_EQ(orAction.getActions()[0].get(), action1);
     EXPECT_EQ(orAction.getActions()[1].get(), action2);
 }
+
+TEST(OrActionTests, ToString)
+{
+    std::vector<std::unique_ptr<Action>> actions{};
+    actions.push_back(std::make_unique<MockAction>());
+
+    OrAction orAction{std::move(actions)};
+    EXPECT_EQ(orAction.toString(), "or: [ ... ]");
+}
diff --git a/phosphor-regulators/test/actions/run_rule_action_tests.cpp b/phosphor-regulators/test/actions/run_rule_action_tests.cpp
index be94e52..b688a78 100644
--- a/phosphor-regulators/test/actions/run_rule_action_tests.cpp
+++ b/phosphor-regulators/test/actions/run_rule_action_tests.cpp
@@ -187,3 +187,9 @@
     RunRuleAction action{"read_sensors_rule"};
     EXPECT_EQ(action.getRuleID(), "read_sensors_rule");
 }
+
+TEST(RunRuleActionTests, ToString)
+{
+    RunRuleAction action{"set_voltage_rule"};
+    EXPECT_EQ(action.toString(), "run_rule: set_voltage_rule");
+}
diff --git a/phosphor-regulators/test/actions/set_device_action_tests.cpp b/phosphor-regulators/test/actions/set_device_action_tests.cpp
index 1aa6cfc..c39b9b0 100644
--- a/phosphor-regulators/test/actions/set_device_action_tests.cpp
+++ b/phosphor-regulators/test/actions/set_device_action_tests.cpp
@@ -77,3 +77,9 @@
     SetDeviceAction action{"io_expander_0"};
     EXPECT_EQ(action.getDeviceID(), "io_expander_0");
 }
+
+TEST(SetDeviceActionTests, ToString)
+{
+    SetDeviceAction action{"regulator1"};
+    EXPECT_EQ(action.toString(), "set_device: regulator1");
+}
