From 8e78c3dfb19e6255566c87a2c1826b642e6e0287 Mon Sep 17 00:00:00 2001 From: Anthony Date: Fri, 27 Jul 2018 15:51:32 +0100 Subject: [PATCH] Refactored out some obsolete methods and files. --- .../Configuration/GlobalSettings.cs | 5 +- .../AsynchronousRollingFileAppender.cs | 206 ------------------ src/Umbraco.Core/Models/ContentType.cs | 10 - src/Umbraco.Core/Umbraco.Core.csproj | 1 - src/Umbraco.Tests/Models/ContentTypeTests.cs | 2 +- .../Packaging/PackageExtractionTests.cs | 3 +- .../Services/PackagingServiceTests.cs | 3 +- 7 files changed, 6 insertions(+), 224 deletions(-) delete mode 100644 src/Umbraco.Core/Logging/AsynchronousRollingFileAppender.cs diff --git a/src/Umbraco.Core/Configuration/GlobalSettings.cs b/src/Umbraco.Core/Configuration/GlobalSettings.cs index 5f023b8dea..7c274089f7 100644 --- a/src/Umbraco.Core/Configuration/GlobalSettings.cs +++ b/src/Umbraco.Core/Configuration/GlobalSettings.cs @@ -215,10 +215,7 @@ namespace Umbraco.Core.Configuration ConfigurationManager.RefreshSection("appSettings"); } } - - [Obsolete("Use IOHelper.GetRootDirectorySafe() instead")] - public static string FullPathToRoot => IOHelper.GetRootDirectorySafe(); - + /// /// Gets a value indicating whether umbraco is running in [debug mode]. /// diff --git a/src/Umbraco.Core/Logging/AsynchronousRollingFileAppender.cs b/src/Umbraco.Core/Logging/AsynchronousRollingFileAppender.cs deleted file mode 100644 index e14ef92451..0000000000 --- a/src/Umbraco.Core/Logging/AsynchronousRollingFileAppender.cs +++ /dev/null @@ -1,206 +0,0 @@ -using log4net.Core; -using log4net.Util; -using System; -using System.ComponentModel; -using System.Runtime.Remoting.Messaging; -using System.Security.Principal; -using System.Threading; -using System.Threading.Tasks; -using log4net.Appender; - -namespace Umbraco.Core.Logging -{ - /// - /// Based on https://github.com/cjbhaines/Log4Net.Async - /// which is based on code by Chris Haines http://cjbhaines.wordpress.com/2012/02/13/asynchronous-log4net-appenders/ - /// This is an old/deprecated logger and has been superceded by ParallelForwardingAppender which is included in Umbraco and - /// also by AsyncForwardingAppender in the Log4Net.Async library. - /// - [Obsolete("This is superceded by the ParallelForwardingAppender, this will be removed in v8, do not use this")] - [EditorBrowsable(EditorBrowsableState.Never)] - public class AsynchronousRollingFileAppender : RollingFileAppender - { - private RingBuffer pendingAppends; - private readonly ManualResetEvent manualResetEvent; - private bool shuttingDown; - private bool hasFinished; - private bool forceStop; - private bool logBufferOverflow; - private int bufferOverflowCounter; - private DateTime lastLoggedBufferOverflow; - private int queueSizeLimit = 1000; - public int QueueSizeLimit - { - get - { - return queueSizeLimit; - } - set - { - queueSizeLimit = value; - } - } - - public AsynchronousRollingFileAppender() - { - manualResetEvent = new ManualResetEvent(false); - } - - public override void ActivateOptions() - { - base.ActivateOptions(); - pendingAppends = new RingBuffer(QueueSizeLimit); - pendingAppends.BufferOverflow += OnBufferOverflow; - StartAppendTask(); - } - - protected override void Append(LoggingEvent[] loggingEvents) - { - Array.ForEach(loggingEvents, Append); - } - - protected override void Append(LoggingEvent loggingEvent) - { - if (FilterEvent(loggingEvent)) - { - pendingAppends.Enqueue(loggingEvent); - } - } - - protected override void OnClose() - { - shuttingDown = true; - manualResetEvent.WaitOne(TimeSpan.FromSeconds(5)); - - if (!hasFinished) - { - forceStop = true; - base.Append(new LoggingEvent(new LoggingEventData - { - Level = Level.Error, - Message = "Unable to clear out the AsyncRollingFileAppender buffer in the allotted time, forcing a shutdown", - TimeStamp = DateTime.UtcNow, - Identity = "", - ExceptionString = "", - UserName = WindowsIdentity.GetCurrent() != null ? WindowsIdentity.GetCurrent().Name : "", - Domain = AppDomain.CurrentDomain.FriendlyName, - ThreadName = Thread.CurrentThread.ManagedThreadId.ToString(), - LocationInfo = new LocationInfo(this.GetType().Name, "OnClose", "AsyncRollingFileAppender.cs", "75"), - LoggerName = this.GetType().FullName, - Properties = new PropertiesDictionary(), - }) - ); - } - - base.OnClose(); - } - - private void StartAppendTask() - { - if (!shuttingDown) - { - Task appendTask = new Task(AppendLoggingEvents, TaskCreationOptions.LongRunning); - appendTask.LogErrors(LogAppenderError).ContinueWith(x => StartAppendTask()).LogErrors(LogAppenderError); - appendTask.Start(); - } - } - - private void LogAppenderError(string logMessage, Exception exception) - { - base.Append(new LoggingEvent(new LoggingEventData - { - Level = Level.Error, - Message = "Appender exception: " + logMessage, - TimeStamp = DateTime.UtcNow, - Identity = "", - ExceptionString = exception.ToString(), - UserName = WindowsIdentity.GetCurrent() != null ? WindowsIdentity.GetCurrent().Name : "", - Domain = AppDomain.CurrentDomain.FriendlyName, - ThreadName = Thread.CurrentThread.ManagedThreadId.ToString(), - LocationInfo = new LocationInfo(this.GetType().Name, "LogAppenderError", "AsyncRollingFileAppender.cs", "152"), - LoggerName = this.GetType().FullName, - Properties = new PropertiesDictionary(), - })); - } - - private void AppendLoggingEvents() - { - LoggingEvent loggingEventToAppend; - while (!shuttingDown) - { - if (logBufferOverflow) - { - LogBufferOverflowError(); - logBufferOverflow = false; - bufferOverflowCounter = 0; - lastLoggedBufferOverflow = DateTime.UtcNow; - } - - while (!pendingAppends.TryDequeue(out loggingEventToAppend)) - { - Thread.Sleep(10); - if (shuttingDown) - { - break; - } - } - if (loggingEventToAppend == null) - { - continue; - } - - try - { - base.Append(loggingEventToAppend); - } - catch - { - } - } - - while (pendingAppends.TryDequeue(out loggingEventToAppend) && !forceStop) - { - try - { - base.Append(loggingEventToAppend); - } - catch - { - } - } - hasFinished = true; - manualResetEvent.Set(); - } - - private void LogBufferOverflowError() - { - base.Append(new LoggingEvent(new LoggingEventData - { - Level = Level.Error, - Message = string.Format("Buffer overflow. {0} logging events have been lost in the last 30 seconds. [QueueSizeLimit: {1}]", bufferOverflowCounter, QueueSizeLimit), - TimeStamp = DateTime.UtcNow, - Identity = "", - ExceptionString = "", - UserName = WindowsIdentity.GetCurrent() != null ? WindowsIdentity.GetCurrent().Name : "", - Domain = AppDomain.CurrentDomain.FriendlyName, - ThreadName = Thread.CurrentThread.ManagedThreadId.ToString(), - LocationInfo = new LocationInfo(this.GetType().Name, "LogBufferOverflowError", "AsyncRollingFileAppender.cs", "152"), - LoggerName = this.GetType().FullName, - Properties = new PropertiesDictionary(), - })); - } - - private void OnBufferOverflow(object sender, EventArgs eventArgs) - { - bufferOverflowCounter++; - if (logBufferOverflow == false) - { - if (lastLoggedBufferOverflow < DateTime.UtcNow.AddSeconds(-30)) - { - logBufferOverflow = true; - } - } - } - } - -} diff --git a/src/Umbraco.Core/Models/ContentType.cs b/src/Umbraco.Core/Models/ContentType.cs index 196c68b23c..ff647dc189 100644 --- a/src/Umbraco.Core/Models/ContentType.cs +++ b/src/Umbraco.Core/Models/ContentType.cs @@ -136,15 +136,5 @@ namespace Umbraco.Core.Models return result; } - - /// - /// Creates a deep clone of the current entity with its identity/alias and it's property identities reset - /// - /// - [Obsolete("Use DeepCloneWithResetIdentities instead")] - public IContentType Clone(string alias) - { - return DeepCloneWithResetIdentities(alias); - } } } diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index 3954267118..321458b05f 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -543,7 +543,6 @@ - diff --git a/src/Umbraco.Tests/Models/ContentTypeTests.cs b/src/Umbraco.Tests/Models/ContentTypeTests.cs index c63853940f..a0e9a370da 100644 --- a/src/Umbraco.Tests/Models/ContentTypeTests.cs +++ b/src/Umbraco.Tests/Models/ContentTypeTests.cs @@ -72,7 +72,7 @@ namespace Umbraco.Tests.Models //ensure that nothing is marked as dirty contentType.ResetDirtyProperties(false); - var clone = (ContentType)contentType.Clone("newAlias"); + var clone = (ContentType)contentType.DeepCloneWithResetIdentities("newAlias"); Assert.AreEqual("newAlias", clone.Alias); Assert.AreNotEqual("newAlias", contentType.Alias); diff --git a/src/Umbraco.Tests/Packaging/PackageExtractionTests.cs b/src/Umbraco.Tests/Packaging/PackageExtractionTests.cs index 118d57ab2a..5416162ed2 100644 --- a/src/Umbraco.Tests/Packaging/PackageExtractionTests.cs +++ b/src/Umbraco.Tests/Packaging/PackageExtractionTests.cs @@ -2,6 +2,7 @@ using System.IO; using System.Linq; using NUnit.Framework; +using Umbraco.Core.IO; using Umbraco.Core.Packaging; namespace Umbraco.Tests.Packaging @@ -14,7 +15,7 @@ namespace Umbraco.Tests.Packaging private static string GetTestPackagePath(string packageName) { const string testPackagesDirName = "Packaging\\Packages"; - string path = Path.Combine(Core.Configuration.GlobalSettings.FullPathToRoot, testPackagesDirName, packageName); + string path = Path.Combine(IOHelper.GetRootDirectorySafe(), testPackagesDirName, packageName); return path; } diff --git a/src/Umbraco.Tests/Services/PackagingServiceTests.cs b/src/Umbraco.Tests/Services/PackagingServiceTests.cs index 829365ae7f..87225c1288 100644 --- a/src/Umbraco.Tests/Services/PackagingServiceTests.cs +++ b/src/Umbraco.Tests/Services/PackagingServiceTests.cs @@ -5,6 +5,7 @@ using System.IO; using System.Linq; using System.Xml.Linq; using NUnit.Framework; +using Umbraco.Core.IO; using Umbraco.Core.Models; using Umbraco.Core.Models.Packaging; using Umbraco.Core.Services; @@ -76,7 +77,7 @@ namespace Umbraco.Tests.Services private static string GetTestPackagePath(string packageName) { const string testPackagesDirName = "Packaging\\Packages"; - string path = Path.Combine(Core.Configuration.GlobalSettings.FullPathToRoot, testPackagesDirName, packageName); + string path = Path.Combine(IOHelper.GetRootDirectorySafe(), testPackagesDirName, packageName); return path; }