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 2015/08/23 18:03:52 UTC

svn commit: r1697207 - in /logging/log4net/branches/log4net-1.2.x: src/ src/Appender/ tests/src/ tests/src/Appender/

Author: bodewig
Date: Sun Aug 23 16:03:51 2015
New Revision: 1697207

URL: http://svn.apache.org/r1697207
Log:
merge changes for LOG4NET-447 by  Gregory Babski 

Added:
    logging/log4net/branches/log4net-1.2.x/tests/src/Appender/MemoryAppenderTest.cs
      - copied, changed from r1697180, logging/log4net/trunk/src/log4net.Tests/Appender/MemoryAppenderTest.cs
Modified:
    logging/log4net/branches/log4net-1.2.x/src/   (props changed)
    logging/log4net/branches/log4net-1.2.x/src/Appender/MemoryAppender.cs
    logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2008.csproj
    logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2010.csproj
    logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2012.csproj

Propchange: logging/log4net/branches/log4net-1.2.x/src/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Aug 23 16:03:51 2015
@@ -1,4 +1,4 @@
 /logging/log4net/branches/1.2.12/src:1511686-1520870
 /logging/log4net/tags/1.2.13RC1/src:1539445-1539920
 /logging/log4net/trunk/src:1539083
-/logging/log4net/trunk/src/log4net:1541408,1544744,1665915,1669884-1669885,1669887-1669888
+/logging/log4net/trunk/src/log4net:1541408,1544744,1665915,1669884-1669885,1669887-1669888,1669935

Modified: logging/log4net/branches/log4net-1.2.x/src/Appender/MemoryAppender.cs
URL: http://svn.apache.org/viewvc/logging/log4net/branches/log4net-1.2.x/src/Appender/MemoryAppender.cs?rev=1697207&r1=1697206&r2=1697207&view=diff
==============================================================================
--- logging/log4net/branches/log4net-1.2.x/src/Appender/MemoryAppender.cs (original)
+++ logging/log4net/branches/log4net-1.2.x/src/Appender/MemoryAppender.cs Sun Aug 23 16:03:51 2015
@@ -33,12 +33,22 @@ namespace log4net.Appender
 	/// that are appended in an in-memory array.
 	/// </para>
 	/// <para>
-	/// Use the <see cref="GetEvents"/> method to get
-	/// the current list of events that have been appended.
+	/// Use the <see cref="M:PopAllEvents()"/> method to get
+	/// and clear the current list of events that have been appended.
+	/// </para>
+	/// <para>
+	/// Use the <see cref="M:GetEvents()"/> method to get the current
+	/// list of events that have been appended.  Note there is a
+	/// race-condition when calling <see cref="M:GetEvents()"/> and
+	/// <see cref="M:Clear()"/> in pairs, you better use <see
+	/// mref="M:PopAllEvents()"/> in that case.
 	/// </para>
 	/// <para>
 	/// Use the <see cref="M:Clear()"/> method to clear the
-	/// current list of events.
+	/// current list of events.  Note there is a
+	/// race-condition when calling <see cref="M:GetEvents()"/> and
+	/// <see cref="M:Clear()"/> in pairs, you better use <see
+	/// mref="M:PopAllEvents()"/> in that case.
 	/// </para>
 	/// </remarks>
 	/// <author>Julian Biddle</author>
@@ -174,6 +184,25 @@ namespace log4net.Appender
             }
 		}
 
+        /// <summary>
+        /// Gets the events that have been logged and clears the list of events.
+        /// </summary>
+        /// <returns>The events that have been logged</returns>
+        /// <remarks>
+        /// <para>
+        /// Gets the events that have been logged and clears the list of events.
+        /// </para>
+        /// </remarks>
+        virtual public LoggingEvent[] PopAllEvents()
+        {
+            lock (m_eventsList.SyncRoot)
+            {
+                LoggingEvent[] tmp = (LoggingEvent[]) m_eventsList.ToArray(typeof (LoggingEvent));
+                m_eventsList.Clear();
+                return tmp;
+            }
+        }
+
 		#endregion Public Instance Methods
 
 		#region Protected Instance Fields

Copied: logging/log4net/branches/log4net-1.2.x/tests/src/Appender/MemoryAppenderTest.cs (from r1697180, logging/log4net/trunk/src/log4net.Tests/Appender/MemoryAppenderTest.cs)
URL: http://svn.apache.org/viewvc/logging/log4net/branches/log4net-1.2.x/tests/src/Appender/MemoryAppenderTest.cs?p2=logging/log4net/branches/log4net-1.2.x/tests/src/Appender/MemoryAppenderTest.cs&p1=logging/log4net/trunk/src/log4net.Tests/Appender/MemoryAppenderTest.cs&r1=1697180&r2=1697207&rev=1697207&view=diff
==============================================================================
--- logging/log4net/trunk/src/log4net.Tests/Appender/MemoryAppenderTest.cs (original)
+++ logging/log4net/branches/log4net-1.2.x/tests/src/Appender/MemoryAppenderTest.cs Sun Aug 23 16:03:51 2015
@@ -19,7 +19,7 @@
  *
 */
 
-#if FRAMEWORK_3_5_OR_ABOVE
+#if NET_4_0 || MONO_3_5 || MONO_4_0
 
 using System;
 using System.Linq;

Modified: logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2008.csproj
URL: http://svn.apache.org/viewvc/logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2008.csproj?rev=1697207&r1=1697206&r2=1697207&view=diff
==============================================================================
--- logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2008.csproj (original)
+++ logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2008.csproj Sun Aug 23 16:03:51 2015
@@ -133,6 +133,9 @@
     <Compile Include="Appender\EventLogAppenderTest.cs">
       <SubType>Code</SubType>
     </Compile>
+    <Compile Include="Appender\MemoryAppenderTest.cs">
+      <SubType>Code</SubType>
+    </Compile>
     <Compile Include="Appender\RemotingAppenderTest.cs">
       <SubType>Code</SubType>
     </Compile>

Modified: logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2010.csproj
URL: http://svn.apache.org/viewvc/logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2010.csproj?rev=1697207&r1=1697206&r2=1697207&view=diff
==============================================================================
--- logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2010.csproj (original)
+++ logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2010.csproj Sun Aug 23 16:03:51 2015
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -150,6 +150,9 @@
     <Compile Include="Appender\EventLogAppenderTest.cs">
       <SubType>Code</SubType>
     </Compile>
+    <Compile Include="Appender\MemoryAppenderTest.cs">
+      <SubType>Code</SubType>
+    </Compile>
     <Compile Include="Appender\RemotingAppenderTest.cs">
       <SubType>Code</SubType>
     </Compile>

Modified: logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2012.csproj
URL: http://svn.apache.org/viewvc/logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2012.csproj?rev=1697207&r1=1697206&r2=1697207&view=diff
==============================================================================
--- logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2012.csproj (original)
+++ logging/log4net/branches/log4net-1.2.x/tests/src/log4net.Tests.vs2012.csproj Sun Aug 23 16:03:51 2015
@@ -150,6 +150,9 @@
     <Compile Include="Appender\EventLogAppenderTest.cs">
       <SubType>Code</SubType>
     </Compile>
+    <Compile Include="Appender\MemoryAppenderTest.cs">
+      <SubType>Code</SubType>
+    </Compile>
     <Compile Include="Appender\RemotingAppenderTest.cs">
       <SubType>Code</SubType>
     </Compile>