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 rg...@apache.org on 2006/10/12 17:23:14 UTC

svn commit: r463273 - in /logging/log4net/trunk/src: Layout/Pattern/AspNetCachePatternConverter.cs Layout/Pattern/AspNetContextPatternConverter.cs Layout/Pattern/AspNetRequestPatternConverter.cs Util/PatternConverter.cs

Author: rgrabowski
Date: Thu Oct 12 08:23:13 2006
New Revision: 463273

URL: http://svn.apache.org/viewvc?view=rev&rev=463273
Log:
Changed Cache, Context, and Request converters to output all of their key/value pairs if the Option property is not set. Added overload to PatternConverter.WriteDictionary to accept an IDictionaryEnumerator to allow the AspNetCachePatternConverter to send its contents (Cache.GetEnumerator()) to WriteDictionary to be auto-formatted. LOG4NET-87.			

Modified:
    logging/log4net/trunk/src/Layout/Pattern/AspNetCachePatternConverter.cs
    logging/log4net/trunk/src/Layout/Pattern/AspNetContextPatternConverter.cs
    logging/log4net/trunk/src/Layout/Pattern/AspNetRequestPatternConverter.cs
    logging/log4net/trunk/src/Util/PatternConverter.cs

Modified: logging/log4net/trunk/src/Layout/Pattern/AspNetCachePatternConverter.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Layout/Pattern/AspNetCachePatternConverter.cs?view=diff&rev=463273&r1=463272&r2=463273
==============================================================================
--- logging/log4net/trunk/src/Layout/Pattern/AspNetCachePatternConverter.cs (original)
+++ logging/log4net/trunk/src/Layout/Pattern/AspNetCachePatternConverter.cs Thu Oct 12 08:23:13 2006
@@ -62,7 +62,7 @@
 				}
 				else
 				{
-					WriteObject(writer, loggingEvent.Repository, HttpRuntime.Cache);
+					WriteObject(writer, loggingEvent.Repository, HttpRuntime.Cache.GetEnumerator());
 				}
 			}
 			else

Modified: logging/log4net/trunk/src/Layout/Pattern/AspNetContextPatternConverter.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Layout/Pattern/AspNetContextPatternConverter.cs?view=diff&rev=463273&r1=463272&r2=463273
==============================================================================
--- logging/log4net/trunk/src/Layout/Pattern/AspNetContextPatternConverter.cs (original)
+++ logging/log4net/trunk/src/Layout/Pattern/AspNetContextPatternConverter.cs Thu Oct 12 08:23:13 2006
@@ -52,7 +52,14 @@
 		/// </remarks>
 		protected override void Convert(TextWriter writer, LoggingEvent loggingEvent, HttpContext httpContext)
 		{
-			WriteObject(writer, loggingEvent.Repository, httpContext.Items[Option]);
+			if (Option != null)
+			{
+				WriteObject(writer, loggingEvent.Repository, httpContext.Items[Option]);
+			}
+			else
+			{
+				WriteObject(writer, loggingEvent.Repository, httpContext.Items);
+			}
 		}
 	}
 }

Modified: logging/log4net/trunk/src/Layout/Pattern/AspNetRequestPatternConverter.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Layout/Pattern/AspNetRequestPatternConverter.cs?view=diff&rev=463273&r1=463272&r2=463273
==============================================================================
--- logging/log4net/trunk/src/Layout/Pattern/AspNetRequestPatternConverter.cs (original)
+++ logging/log4net/trunk/src/Layout/Pattern/AspNetRequestPatternConverter.cs Thu Oct 12 08:23:13 2006
@@ -61,7 +61,7 @@
 				}
 				else
 				{
-					WriteObject(writer, loggingEvent.Repository, httpContext.Request);
+					WriteObject(writer, loggingEvent.Repository, httpContext.Request.Params);
 				}
 			}
 			else

Modified: logging/log4net/trunk/src/Util/PatternConverter.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Util/PatternConverter.cs?view=diff&rev=463273&r1=463272&r2=463273
==============================================================================
--- logging/log4net/trunk/src/Util/PatternConverter.cs (original)
+++ logging/log4net/trunk/src/Util/PatternConverter.cs Thu Oct 12 08:23:13 2006
@@ -16,12 +16,10 @@
 //
 #endregion
 
-using System;
 using System.Text;
 using System.IO;
 using System.Collections;
 
-using log4net.Core;
 using log4net.Util;
 using log4net.Repository;
 
@@ -292,12 +290,36 @@
 		/// </remarks>
 		protected static void WriteDictionary(TextWriter writer, ILoggerRepository repository, IDictionary value)
 		{
+			WriteDictionary(writer, repository, value.GetEnumerator());
+		}
+
+		/// <summary>
+		/// Write an dictionary to a <see cref="TextWriter"/>
+		/// </summary>
+		/// <param name="writer">the writer to write to</param>
+		/// <param name="repository">a <see cref="ILoggerRepository"/> to use for object conversion</param>
+		/// <param name="value">the value to write to the writer</param>
+		/// <remarks>
+		/// <para>
+		/// Writes the <see cref="IDictionaryEnumerator"/> to a writer in the form:
+		/// </para>
+		/// <code>
+		/// {key1=value1, key2=value2, key3=value3}
+		/// </code>
+		/// <para>
+		/// If the <see cref="ILoggerRepository"/> specified
+		/// is not null then it is used to render the key and value to text, otherwise
+		/// the object's ToString method is called.
+		/// </para>
+		/// </remarks>
+		protected static void WriteDictionary(TextWriter writer, ILoggerRepository repository, IDictionaryEnumerator value)
+		{
 			writer.Write("{");
 
 			bool first = true;
 
 			// Write out all the dictionary key value pairs
-			foreach(DictionaryEntry entry in value)
+			while (value.MoveNext())
 			{
 				if (first)
 				{
@@ -307,9 +329,9 @@
 				{
 					writer.Write(", ");
 				}
-				WriteObject(writer, repository, entry.Key);
+				WriteObject(writer, repository, value.Key);
 				writer.Write("=");
-				WriteObject(writer, repository, entry.Value);
+				WriteObject(writer, repository, value.Value);
 			}
 
 			writer.Write("}");