You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-dev@logging.apache.org by ni...@apache.org on 2005/08/31 10:14:10 UTC
cvs commit: logging-log4net/src/Util CountingQuietTextWriter.cs
nicko 2005/08/31 01:14:10
Modified: src/Util CountingQuietTextWriter.cs
Log:
Fix for LOG4NET-49, Added missing overrides to CountingQuietTextWriter
Revision Changes Path
1.6 +60 -1 logging-log4net/src/Util/CountingQuietTextWriter.cs
Index: CountingQuietTextWriter.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/CountingQuietTextWriter.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- CountingQuietTextWriter.cs 31 Jan 2005 22:56:49 -0000 1.5
+++ CountingQuietTextWriter.cs 31 Aug 2005 08:14:10 -0000 1.6
@@ -59,12 +59,71 @@
#region Override implementation of QuietTextWriter
/// <summary>
+ /// Writes a character to the underlying writer and counts the number of bytes written.
+ /// </summary>
+ /// <param name="value">the char to write</param>
+ /// <remarks>
+ /// <para>
+ /// Overrides implementation of <see cref="QuietTextWriter"/>. Counts
+ /// the number of bytes written.
+ /// </para>
+ /// </remarks>
+ public override void Write(char value)
+ {
+ try
+ {
+ base.Write(value);
+
+ // get the number of bytes needed to represent the
+ // char using the supplied encoding.
+ m_countBytes += this.Encoding.GetByteCount(new char[] { value });
+ }
+ catch(Exception e)
+ {
+ this.ErrorHandler.Error("Failed to write [" + value + "].", e, ErrorCode.WriteFailure);
+ }
+ }
+
+ /// <summary>
+ /// Writes a buffer to the underlying writer and counts the number of bytes written.
+ /// </summary>
+ /// <param name="buffer">the buffer to write</param>
+ /// <param name="index">the start index to write from</param>
+ /// <param name="count">the number of characters to write</param>
+ /// <remarks>
+ /// <para>
+ /// Overrides implementation of <see cref="QuietTextWriter"/>. Counts
+ /// the number of bytes written.
+ /// </para>
+ /// </remarks>
+ public override void Write(char[] buffer, int index, int count)
+ {
+ if (count > 0)
+ {
+ try
+ {
+ base.Write(buffer, index, count);
+
+ // get the number of bytes needed to represent the
+ // char array using the supplied encoding.
+ m_countBytes += this.Encoding.GetByteCount(buffer, index, count);
+ }
+ catch(Exception e)
+ {
+ this.ErrorHandler.Error("Failed to write buffer.", e, ErrorCode.WriteFailure);
+ }
+ }
+ }
+
+ /// <summary>
/// Writes a string to the output and counts the number of bytes written.
/// </summary>
/// <param name="str">The string data to write to the output.</param>
/// <remarks>
+ /// <para>
/// Overrides implementation of <see cref="QuietTextWriter"/>. Counts
/// the number of bytes written.
+ /// </para>
/// </remarks>
override public void Write(string str)
{
@@ -84,7 +143,7 @@
}
}
}
-
+
#endregion Override implementation of QuietTextWriter
#region Public Instance Properties