diff --git a/pulsar/client/action_mapper.py b/pulsar/client/action_mapper.py
index 85d8e29dadb0d947854d18bd3d9ae50c52714471..47c7528910fe1a83491cda4c704f09c098d992ae 100644
--- a/pulsar/client/action_mapper.py
+++ b/pulsar/client/action_mapper.py
@@ -325,9 +325,14 @@ class BaseAction(object):
     def __str__(self):
         as_dict = self.to_dict()
         attribute_str = ""
+        first = True
         for key, value in as_dict.items():
             if key == "source":
                 continue
+            if first:
+                first = False
+            else:
+                attribute_str += ","
             attribute_str += "%s=%s" % (key, value)
         return "FileAction[%s]" % attribute_str