diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index 7bc8176a18..c7377b85fc 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -1745,6 +1745,30 @@ namespace OpenSim.Framework
return data;
}
+ ///
+ /// Pretty format the hashtable contents to a single line.
+ ///
+ ///
+ /// Used for debugging output.
+ ///
+ ///
+ public static string PrettyFormatToSingleLine(Hashtable ht)
+ {
+ StringBuilder sb = new StringBuilder();
+
+ int i = 0;
+
+ foreach (string key in ht.Keys)
+ {
+ sb.AppendFormat("{0}:{1}", key, ht[key]);
+
+ if (++i < ht.Count)
+ sb.AppendFormat(", ");
+ }
+
+ return sb.ToString();
+ }
+
///
/// Used to trigger an early library load on Windows systems.
///
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs
index e28d0c2da3..a040f43d66 100644
--- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs
@@ -1012,7 +1012,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
Hashtable respData = (Hashtable)resp.Value;
if (respData.Contains("error") && !respData.Contains("succeed"))
{
- LogRespDataToConsoleError(respData);
+ LogRespDataToConsoleError(requestingAgentID, function, param, respData);
}
return respData;
@@ -1040,20 +1040,11 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
return error;
}
- private void LogRespDataToConsoleError(Hashtable respData)
+ private void LogRespDataToConsoleError(UUID requestingAgentID, string function, Hashtable param, Hashtable respData)
{
- m_log.Error("[XMLRPC-GROUPS-CONNECTOR]: Error:");
-
- foreach (string key in respData.Keys)
- {
- m_log.ErrorFormat("[XMLRPC-GROUPS-CONNECTOR]: Key: {0}", key);
-
- string[] lines = respData[key].ToString().Split(new char[] { '\n' });
- foreach (string line in lines)
- {
- m_log.ErrorFormat("[XMLRPC-GROUPS-CONNECTOR]: {0}", line);
- }
- }
+ m_log.ErrorFormat(
+ "[XMLRPC-GROUPS-CONNECTOR]: Error when calling {0} for {1} with params {2}. Response params are {3}",
+ function, requestingAgentID, Util.PrettyFormatToSingleLine(param), Util.PrettyFormatToSingleLine(respData));
}
///