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 2016/08/13 16:57:45 UTC

svn commit: r1756284 - in /logging/log4net/trunk: netstandard/log4net.tests/ netstandard/log4net/ src/Appender/ src/Layout/Pattern/ src/Repository/Hierarchy/ src/Util/ src/Util/PatternStringConverters/ tests/src/Appender/

Author: bodewig
Date: Sat Aug 13 16:57:44 2016
New Revision: 1756284

URL: http://svn.apache.org/viewvc?rev=1756284&view=rev
Log:
.NET Core improvements by Peter Jas - closes #30

Modified:
    logging/log4net/trunk/netstandard/log4net.tests/project.json
    logging/log4net/trunk/netstandard/log4net/project.json
    logging/log4net/trunk/src/Appender/AnsiColorTerminalAppender.cs
    logging/log4net/trunk/src/Appender/ConsoleAppender.cs
    logging/log4net/trunk/src/Appender/FileAppender.cs
    logging/log4net/trunk/src/Appender/ManagedColoredConsoleAppender.cs
    logging/log4net/trunk/src/Layout/Pattern/DatePatternConverter.cs
    logging/log4net/trunk/src/Repository/Hierarchy/XmlHierarchyConfigurator.cs
    logging/log4net/trunk/src/Util/PatternParser.cs
    logging/log4net/trunk/src/Util/PatternStringConverters/DatePatternConverter.cs
    logging/log4net/trunk/src/Util/PatternStringConverters/NewLinePatternConverter.cs
    logging/log4net/trunk/tests/src/Appender/RollingFileAppenderTest.cs

Modified: logging/log4net/trunk/netstandard/log4net.tests/project.json
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/netstandard/log4net.tests/project.json?rev=1756284&r1=1756283&r2=1756284&view=diff
==============================================================================
--- logging/log4net/trunk/netstandard/log4net.tests/project.json (original)
+++ logging/log4net/trunk/netstandard/log4net.tests/project.json Sat Aug 13 16:57:44 2016
@@ -33,8 +33,8 @@
           "version": "1.0.0",
           "type": "platform"
         },
-        "dotnet-test-nunit": "3.4.0-beta-1",
-        "log4net": "3.0.0",
+        "dotnet-test-nunit": "3.4.0-beta-2",
+        "log4net": { "target": "project" },
         "NUnit": "3.4.1"
       },
       "imports": [ "portable-net45+win8" ]

Modified: logging/log4net/trunk/netstandard/log4net/project.json
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/netstandard/log4net/project.json?rev=1756284&r1=1756283&r2=1756284&view=diff
==============================================================================
--- logging/log4net/trunk/netstandard/log4net/project.json (original)
+++ logging/log4net/trunk/netstandard/log4net/project.json Sat Aug 13 16:57:44 2016
@@ -33,7 +33,7 @@
             "../../src/Util/WindowsSecurityContext.cs"
           ]
         },
-        "define": [ "HAS_READERWRITERLOCKSLIM", "NETSTANDARD1_3" ]
+        "define": [ "HAS_READERWRITERLOCKSLIM" ]
       },
       "dependencies": {
         "System.AppContext": "4.1.0",

Modified: logging/log4net/trunk/src/Appender/AnsiColorTerminalAppender.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Appender/AnsiColorTerminalAppender.cs?rev=1756284&r1=1756283&r2=1756284&view=diff
==============================================================================
--- logging/log4net/trunk/src/Appender/AnsiColorTerminalAppender.cs (original)
+++ logging/log4net/trunk/src/Appender/AnsiColorTerminalAppender.cs Sat Aug 13 16:57:44 2016
@@ -252,11 +252,8 @@ namespace log4net.Appender
 			set
 			{
 				string trimmedTargetName = value.Trim();
-#if NETSTANDARD1_3
-				if (CultureInfo.InvariantCulture.CompareInfo.Compare(ConsoleError, trimmedTargetName, CompareOptions.IgnoreCase) == 0)
-#else
-				if (string.Compare(ConsoleError, trimmedTargetName, true, CultureInfo.InvariantCulture) == 0)
-#endif
+
+				if (ConsoleError.ToUpperInvariant() == trimmedTargetName.ToUpperInvariant())
 				{
 					m_writeToErrorStream = true;
 				} 

Modified: logging/log4net/trunk/src/Appender/ConsoleAppender.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Appender/ConsoleAppender.cs?rev=1756284&r1=1756283&r2=1756284&view=diff
==============================================================================
--- logging/log4net/trunk/src/Appender/ConsoleAppender.cs (original)
+++ logging/log4net/trunk/src/Appender/ConsoleAppender.cs Sat Aug 13 16:57:44 2016
@@ -120,11 +120,8 @@ namespace log4net.Appender
 			set
 			{
 				string v = value.Trim();
-#if NETSTANDARD1_3
-				if (CultureInfo.InvariantCulture.CompareInfo.Compare(ConsoleError, v, CompareOptions.IgnoreCase) == 0)
-#else
-				if (string.Compare(ConsoleError, v, true, CultureInfo.InvariantCulture) == 0)
-#endif
+
+				if (ConsoleError.ToUpperInvariant() == v.ToUpperInvariant())
 				{
 					m_writeToErrorStream = true;
 				} 

Modified: logging/log4net/trunk/src/Appender/FileAppender.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Appender/FileAppender.cs?rev=1756284&r1=1756283&r2=1756284&view=diff
==============================================================================
--- logging/log4net/trunk/src/Appender/FileAppender.cs (original)
+++ logging/log4net/trunk/src/Appender/FileAppender.cs Sat Aug 13 16:57:44 2016
@@ -24,6 +24,9 @@ using System.Threading;
 using log4net.Util;
 using log4net.Layout;
 using log4net.Core;
+#if NET_4_5 || NETSTANDARD1_3
+using System.Threading.Tasks;
+#endif
 
 namespace log4net.Appender
 {
@@ -145,9 +148,6 @@ namespace log4net.Appender
 
 			private Stream m_realStream = null;
 			private LockingModelBase m_lockingModel = null;
-#if !NETSTANDARD1_3 // only used in unavailable Stream overrides
-			private int m_readTotal = -1;
-#endif
 			private int m_lockLevel = 0;
 
 			public LockingStream(LockingModelBase locking)
@@ -169,6 +169,9 @@ namespace log4net.Appender
 				base.Dispose(disposing);
 			}
 #else
+
+			private int m_readTotal = -1;
+
 			// Methods
 			public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state)
 			{
@@ -205,6 +208,20 @@ namespace log4net.Appender
 			}
 #endif
 
+#if NET_4_5 || NETSTANDARD1_3
+			public override Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
+			{
+				AssertLocked();
+ 				return m_realStream.ReadAsync(buffer, offset, count, cancellationToken);
+ 			}
+
+ 			public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
+ 			{
+ 				AssertLocked(); 
+ 				return base.WriteAsync(buffer, offset, count, cancellationToken);
+   			}
+#endif
+
 			public override void Flush()
 			{
 				AssertLocked();
@@ -1450,11 +1467,7 @@ namespace log4net.Appender
 		/// <summary>
 		/// The encoding to use for the file stream.
 		/// </summary>
-#if NETSTANDARD1_3
-		private Encoding m_encoding = Encoding.Unicode;
-#else
-		private Encoding m_encoding = Encoding.Default;
-#endif
+		private Encoding m_encoding = Encoding.GetEncoding(0);
 
 		/// <summary>
 		/// The security context to use for privileged calls

Modified: logging/log4net/trunk/src/Appender/ManagedColoredConsoleAppender.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Appender/ManagedColoredConsoleAppender.cs?rev=1756284&r1=1756283&r2=1756284&view=diff
==============================================================================
--- logging/log4net/trunk/src/Appender/ManagedColoredConsoleAppender.cs (original)
+++ logging/log4net/trunk/src/Appender/ManagedColoredConsoleAppender.cs Sat Aug 13 16:57:44 2016
@@ -44,9 +44,7 @@
 // isn't set if ommited).
 
 using System;
-using log4net.Layout;
 using log4net.Util;
-using System.Globalization;
 
 namespace log4net.Appender
 {
@@ -135,11 +133,7 @@ namespace log4net.Appender
 			{
 				string v = value.Trim();
 
-#if NETSTANDARD1_3
-                if (CultureInfo.InvariantCulture.CompareInfo.Compare(ConsoleError, v, CompareOptions.IgnoreCase) == 0)
-#else
-                if (string.Compare(ConsoleError, v, true, CultureInfo.InvariantCulture) == 0) 
-#endif
+				if (ConsoleError.ToUpperInvariant() == v.ToUpperInvariant())
 				{
 					m_writeToErrorStream = true;
 				} 

Modified: logging/log4net/trunk/src/Layout/Pattern/DatePatternConverter.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Layout/Pattern/DatePatternConverter.cs?rev=1756284&r1=1756283&r2=1756284&view=diff
==============================================================================
--- logging/log4net/trunk/src/Layout/Pattern/DatePatternConverter.cs (original)
+++ logging/log4net/trunk/src/Layout/Pattern/DatePatternConverter.cs Sat Aug 13 16:57:44 2016
@@ -18,8 +18,6 @@
 #endregion
 
 using System;
-using System.Globalization;
-using System.Text;
 using System.IO;
 
 using log4net.Core;
@@ -120,33 +118,19 @@ namespace log4net.Layout.Pattern
 			{
 				dateFormatStr = AbsoluteTimeDateFormatter.Iso8601TimeDateFormat;
 			}
-#if NETSTANDARD1_3
-			if (CultureInfo.InvariantCulture.CompareInfo.Compare(dateFormatStr, AbsoluteTimeDateFormatter.Iso8601TimeDateFormat, CompareOptions.IgnoreCase) == 0)
-			{
-				m_dateFormatter = new Iso8601DateFormatter();
-			}
-			else if (CultureInfo.InvariantCulture.CompareInfo.Compare(dateFormatStr, AbsoluteTimeDateFormatter.AbsoluteTimeDateFormat, CompareOptions.IgnoreCase) == 0)
-			{
-				m_dateFormatter = new AbsoluteTimeDateFormatter();
-			}
-			else if (CultureInfo.InvariantCulture.CompareInfo.Compare(dateFormatStr, AbsoluteTimeDateFormatter.DateAndTimeDateFormat, CompareOptions.IgnoreCase) == 0)
-			{
-				m_dateFormatter = new DateTimeDateFormatter();
-			}
-#else
-			if (string.Compare(dateFormatStr, AbsoluteTimeDateFormatter.Iso8601TimeDateFormat, true, CultureInfo.InvariantCulture) == 0)
+
+			if (dateFormatStr.ToUpperInvariant() == AbsoluteTimeDateFormatter.Iso8601TimeDateFormat.ToUpperInvariant())
 			{
 				m_dateFormatter = new Iso8601DateFormatter();
 			}
-			else if (string.Compare(dateFormatStr, AbsoluteTimeDateFormatter.AbsoluteTimeDateFormat, true, CultureInfo.InvariantCulture) == 0)
+			else if (dateFormatStr.ToUpperInvariant() == AbsoluteTimeDateFormatter.AbsoluteTimeDateFormat.ToUpperInvariant())
 			{
 				m_dateFormatter = new AbsoluteTimeDateFormatter();
 			}
-			else if (string.Compare(dateFormatStr, AbsoluteTimeDateFormatter.DateAndTimeDateFormat, true, CultureInfo.InvariantCulture) == 0)
+			else if (dateFormatStr.ToUpperInvariant() == AbsoluteTimeDateFormatter.DateAndTimeDateFormat.ToUpperInvariant())
 			{
 				m_dateFormatter = new DateTimeDateFormatter();
 			}
-#endif
 			else
 			{
 				try 

Modified: logging/log4net/trunk/src/Repository/Hierarchy/XmlHierarchyConfigurator.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Repository/Hierarchy/XmlHierarchyConfigurator.cs?rev=1756284&r1=1756283&r2=1756284&view=diff
==============================================================================
--- logging/log4net/trunk/src/Repository/Hierarchy/XmlHierarchyConfigurator.cs (original)
+++ logging/log4net/trunk/src/Repository/Hierarchy/XmlHierarchyConfigurator.cs Sat Aug 13 16:57:44 2016
@@ -899,13 +899,10 @@ namespace log4net.Repository.Hierarchy
 			{
 				if (!methInfo.IsStatic)
 				{
-#if NETSTANDARD1_3
-					if (CultureInfo.InvariantCulture.CompareInfo.Compare(methInfo.Name, requiredMethodNameA, CompareOptions.IgnoreCase) == 0 ||
-						CultureInfo.InvariantCulture.CompareInfo.Compare(methInfo.Name, requiredMethodNameB, CompareOptions.IgnoreCase) == 0)
-#else
-					if (string.Compare(methInfo.Name, requiredMethodNameA, true, System.Globalization.CultureInfo.InvariantCulture) == 0 ||
-						string.Compare(methInfo.Name, requiredMethodNameB, true, System.Globalization.CultureInfo.InvariantCulture) == 0)
-#endif
+					string methodInfoName = methInfo.Name.ToUpperInvariant();
+
+					if (methodInfoName == requiredMethodNameA.ToUpperInvariant() ||
+					    methodInfoName == requiredMethodNameB.ToUpperInvariant())
 					{
 						// Found matching method name
 

Modified: logging/log4net/trunk/src/Util/PatternParser.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Util/PatternParser.cs?rev=1756284&r1=1756283&r2=1756284&view=diff
==============================================================================
--- logging/log4net/trunk/src/Util/PatternParser.cs (original)
+++ logging/log4net/trunk/src/Util/PatternParser.cs Sat Aug 13 16:57:44 2016
@@ -20,15 +20,8 @@
 using System;
 using System.Collections;
 using System.Globalization;
-using System.IO;
-using System.Reflection;
-using System.Text;
 
-using log4net.Layout;
 using log4net.Core;
-using log4net.DateFormatter;
-using log4net.Layout.Pattern;
-using log4net.Util;
 
 namespace log4net.Util
 {
@@ -232,11 +225,9 @@ namespace log4net.Util
 							{
 								formattingInfo.Min = 0;
 							}
-#if NETSTANDARD1_3
-							formattingInfo.Min = (formattingInfo.Min * 10) + int.Parse(pattern[offset].ToString(), System.Globalization.NumberFormatInfo.InvariantInfo);
-#else
-							formattingInfo.Min = (formattingInfo.Min * 10) + int.Parse(pattern[offset].ToString(CultureInfo.InvariantCulture), System.Globalization.NumberFormatInfo.InvariantInfo);
-#endif
+
+							formattingInfo.Min = (formattingInfo.Min * 10) + int.Parse(pattern[offset].ToString(), NumberFormatInfo.InvariantInfo);
+
 							offset++;
 						}
 						// Look for the separator between min and max
@@ -256,11 +247,9 @@ namespace log4net.Util
 							{
 								formattingInfo.Max = 0;
 							}
-#if NETSTANDARD1_3
-							formattingInfo.Max = (formattingInfo.Max * 10) + int.Parse(pattern[offset].ToString(), System.Globalization.NumberFormatInfo.InvariantInfo);
-#else
-							formattingInfo.Max = (formattingInfo.Max * 10) + int.Parse(pattern[offset].ToString(CultureInfo.InvariantCulture), System.Globalization.NumberFormatInfo.InvariantInfo);
-#endif
+
+							formattingInfo.Max = (formattingInfo.Max * 10) + int.Parse(pattern[offset].ToString(), NumberFormatInfo.InvariantInfo);
+
 							offset++;
 						}
 
@@ -269,13 +258,11 @@ namespace log4net.Util
 						// Look for pattern
 						for(int m=0; m<matches.Length; m++)
 						{
-							if (matches[m].Length <= remainingStringLength)
+							string key = matches[m];
+
+							if (key.Length <= remainingStringLength)
 							{
-#if NETSTANDARD1_3
-								if (CultureInfo.InvariantCulture.CompareInfo.Compare(pattern, offset, matches[m].Length, matches[m], 0, matches[m].Length) == 0)
-#else
-								if (String.Compare(pattern, offset, matches[m], 0, matches[m].Length, false, System.Globalization.CultureInfo.InvariantCulture) == 0)
-#endif
+								if (string.Compare(pattern, offset, key, 0, key.Length) == 0)
 								{
 									// Found match
 									offset = offset + matches[m].Length;

Modified: logging/log4net/trunk/src/Util/PatternStringConverters/DatePatternConverter.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Util/PatternStringConverters/DatePatternConverter.cs?rev=1756284&r1=1756283&r2=1756284&view=diff
==============================================================================
--- logging/log4net/trunk/src/Util/PatternStringConverters/DatePatternConverter.cs (original)
+++ logging/log4net/trunk/src/Util/PatternStringConverters/DatePatternConverter.cs Sat Aug 13 16:57:44 2016
@@ -18,11 +18,8 @@
 #endregion
 
 using System;
-using System.Globalization;
-using System.Text;
 using System.IO;
 
-using log4net.Util;
 using log4net.DateFormatter;
 using log4net.Core;
 
@@ -116,37 +113,26 @@ namespace log4net.Util.PatternStringConv
 		public void ActivateOptions()
 		{
 			string dateFormatStr = Option;
+
 			if (dateFormatStr == null)
 			{
 				dateFormatStr = AbsoluteTimeDateFormatter.Iso8601TimeDateFormat;
 			}
-#if NETSTANDARD1_3
-			if (CultureInfo.InvariantCulture.CompareInfo.Compare(dateFormatStr, AbsoluteTimeDateFormatter.Iso8601TimeDateFormat, CompareOptions.IgnoreCase) == 0)
-			{
-				m_dateFormatter = new Iso8601DateFormatter();
-			}
-			else if (CultureInfo.InvariantCulture.CompareInfo.Compare(dateFormatStr, AbsoluteTimeDateFormatter.AbsoluteTimeDateFormat, CompareOptions.IgnoreCase) == 0)
-			{
-				m_dateFormatter = new AbsoluteTimeDateFormatter();
-			}
-			else if (CultureInfo.InvariantCulture.CompareInfo.Compare(dateFormatStr, AbsoluteTimeDateFormatter.DateAndTimeDateFormat, CompareOptions.IgnoreCase) == 0)
-			{
-				m_dateFormatter = new DateTimeDateFormatter();
-			}
-#else
-			if (string.Compare(dateFormatStr, AbsoluteTimeDateFormatter.Iso8601TimeDateFormat, true, CultureInfo.InvariantCulture) == 0)
+			
+			var dateFormatStrUpper = dateFormatStr.ToUpperInvariant();
+
+			if (dateFormatStrUpper == AbsoluteTimeDateFormatter.Iso8601TimeDateFormat.ToUpperInvariant())
 			{
 				m_dateFormatter = new Iso8601DateFormatter();
 			}
-			else if (string.Compare(dateFormatStr, AbsoluteTimeDateFormatter.AbsoluteTimeDateFormat, true, CultureInfo.InvariantCulture) == 0)
+			else if (dateFormatStrUpper == AbsoluteTimeDateFormatter.AbsoluteTimeDateFormat.ToUpperInvariant())
 			{
 				m_dateFormatter = new AbsoluteTimeDateFormatter();
 			}
-			else if (string.Compare(dateFormatStr, AbsoluteTimeDateFormatter.DateAndTimeDateFormat, true, CultureInfo.InvariantCulture) == 0)
+			else if (dateFormatStrUpper == AbsoluteTimeDateFormatter.DateAndTimeDateFormat.ToUpperInvariant())
 			{
 				m_dateFormatter = new DateTimeDateFormatter();
 			}
-#endif
 			else
 			{
 				try 

Modified: logging/log4net/trunk/src/Util/PatternStringConverters/NewLinePatternConverter.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Util/PatternStringConverters/NewLinePatternConverter.cs?rev=1756284&r1=1756283&r2=1756284&view=diff
==============================================================================
--- logging/log4net/trunk/src/Util/PatternStringConverters/NewLinePatternConverter.cs (original)
+++ logging/log4net/trunk/src/Util/PatternStringConverters/NewLinePatternConverter.cs Sat Aug 13 16:57:44 2016
@@ -17,14 +17,6 @@
 //
 #endregion
 
-#if NETSTANDARD1_3
-using System.Globalization;
-#endif
-using System;
-using System.Text;
-using System.IO;
-
-using log4net.Util;
 using log4net.Core;
 
 namespace log4net.Util.PatternStringConverters
@@ -75,25 +67,14 @@ namespace log4net.Util.PatternStringConv
 		/// </remarks>
 		public void ActivateOptions()
 		{
-#if NETSTANDARD1_3
-			if (CultureInfo.InvariantCulture.CompareInfo.Compare(Option, "DOS", CompareOptions.IgnoreCase) == 0)
-			{
-				Option = "\r\n";
-			}
-			else if (CultureInfo.InvariantCulture.CompareInfo.Compare(Option, "UNIX", CompareOptions.IgnoreCase) == 0)
-			{
-				Option = "\n";
-			}
-#else
-			if (string.Compare(Option, "DOS", true, System.Globalization.CultureInfo.InvariantCulture) == 0)
+			if (Option.ToUpperInvariant() == "DOS")
 			{
 				Option = "\r\n";
 			}
-			else if (string.Compare(Option, "UNIX", true, System.Globalization.CultureInfo.InvariantCulture) == 0)
+			else if (Option.ToUpperInvariant() == "UNIX")
 			{
 				Option = "\n";
 			}
-#endif
 			else
 			{
 				Option = SystemInfo.NewLine;

Modified: logging/log4net/trunk/tests/src/Appender/RollingFileAppenderTest.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Appender/RollingFileAppenderTest.cs?rev=1756284&r1=1756283&r2=1756284&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Appender/RollingFileAppenderTest.cs (original)
+++ logging/log4net/trunk/tests/src/Appender/RollingFileAppenderTest.cs Sat Aug 13 16:57:44 2016
@@ -1460,7 +1460,7 @@ namespace log4net.Tests.Appender
 		private static void AssertFileEquals(string filename, string contents)
 		{
 #if NETSTANDARD1_3
-			StreamReader sr = new StreamReader(new FileStream(filename, FileMode.Open));
+			StreamReader sr = new StreamReader(File.Open(filename, FileMode.Open));
 #else
 			StreamReader sr = new StreamReader(filename);
 #endif
@@ -2003,4 +2003,4 @@ namespace log4net.Tests.Appender
 			return (RollPoint)Utils.InvokeMethod(rollingFileAppender, "ComputeCheckPeriod", datePattern);
 		}
 	}
-}
\ No newline at end of file
+}