You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by bo...@apache.org on 2011/09/12 16:57:12 UTC
svn commit: r1169783 - /logging/log4net/trunk/src/Layout/XMLLayoutBase.cs
Author: bodewig
Date: Mon Sep 12 14:57:12 2011
New Revision: 1169783
URL: http://svn.apache.org/viewvc?rev=1169783&view=rev
Log:
Fix race-condition in XmlLayoutBase. LOG4NET-76
Modified:
logging/log4net/trunk/src/Layout/XMLLayoutBase.cs
Modified: logging/log4net/trunk/src/Layout/XMLLayoutBase.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Layout/XMLLayoutBase.cs?rev=1169783&r1=1169782&r2=1169783&view=diff
==============================================================================
--- logging/log4net/trunk/src/Layout/XMLLayoutBase.cs (original)
+++ logging/log4net/trunk/src/Layout/XMLLayoutBase.cs Mon Sep 12 14:57:12 2011
@@ -197,10 +197,7 @@ namespace log4net.Layout
throw new ArgumentNullException("loggingEvent");
}
- // Attach the protected writer to the TextWriter passed in
- m_protectCloseTextWriter.Attach(writer);
-
- XmlTextWriter xmlWriter = new XmlTextWriter(m_protectCloseTextWriter);
+ XmlTextWriter xmlWriter = new XmlTextWriter(new ProtectCloseTextWriter(writer));
xmlWriter.Formatting = Formatting.None;
xmlWriter.Namespaces = false;
@@ -212,9 +209,6 @@ namespace log4net.Layout
// Close on xmlWriter will ensure xml is flushed
// the protected writer will ignore the actual close
xmlWriter.Close();
-
- // detach from the writer
- m_protectCloseTextWriter.Attach(null);
}
#endregion Override implementation of LayoutSkeleton
@@ -245,11 +239,6 @@ namespace log4net.Layout
private bool m_locationInfo = false;
/// <summary>
- /// Writer adapter that ignores Close
- /// </summary>
- private readonly ProtectCloseTextWriter m_protectCloseTextWriter = new ProtectCloseTextWriter(null);
-
- /// <summary>
/// The string to replace invalid chars with
/// </summary>
private string m_invalidCharReplacement="?";