void OnWriteXml(object sender, string text)
{
if (!DebugProtocol) {
return;
}
try {
if (text == null || text.Trim().Length == 0) {
// suppress logging keep-alive messages
return;
}
var strWriter = new StringWriter();
var xmlWriter = new XmlTextWriter(strWriter);
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.Indentation = 2;
xmlWriter.IndentChar = ' ';
var document = new XmlDocument();
document.LoadXml(text);
document.WriteContentTo(xmlWriter);
DebugWrite("\n" + strWriter.ToString());
} catch (XmlException) {
// HACK: in case of an invalid doucment fallback to
// plain string logging
DebugWrite("\n" + text);
} catch (Exception ex) {
#if LOG4NET
_Logger.Error("OnWriteText(): Exception", ex);
#endif
}
}