diff --git a/src/Umbraco.Core/Logging/DebugDiagnosticsLogger.cs b/src/Umbraco.Core/Logging/DebugDiagnosticsLogger.cs index a2c7a3c714..18e26fe331 100644 --- a/src/Umbraco.Core/Logging/DebugDiagnosticsLogger.cs +++ b/src/Umbraco.Core/Logging/DebugDiagnosticsLogger.cs @@ -13,6 +13,12 @@ namespace Umbraco.Core.Logging System.Diagnostics.Debug.WriteLine(message + Environment.NewLine + exception, reporting.FullName); } + /// + public void Error(Type reporting, Exception exception) + { + System.Diagnostics.Debug.WriteLine(Environment.NewLine + exception, reporting.FullName); + } + /// public void Error(Type reporting, Exception exception, string messageTemplate, params object[] args) { diff --git a/src/Umbraco.Core/Logging/ILogger.cs b/src/Umbraco.Core/Logging/ILogger.cs index 0f9e79230a..7e18930c22 100644 --- a/src/Umbraco.Core/Logging/ILogger.cs +++ b/src/Umbraco.Core/Logging/ILogger.cs @@ -15,6 +15,13 @@ namespace Umbraco.Core.Logging /// A message. void Error(Type reporting, Exception exception, string message); + /// + /// Logs an error message NOTE: This will log an empty message string + /// + /// The reporting type. + /// An exception. + void Error(Type reporting, Exception exception); + /// /// Logs an error message - using a structured log message /// diff --git a/src/Umbraco.Core/Logging/Logger.cs b/src/Umbraco.Core/Logging/Logger.cs index 95027ec3de..744c0ff97c 100644 --- a/src/Umbraco.Core/Logging/Logger.cs +++ b/src/Umbraco.Core/Logging/Logger.cs @@ -50,43 +50,18 @@ namespace Umbraco.Core.Logging } /// - [Obsolete("Use the message template version")] public void Error(Type reporting, Exception exception, string message) { - var logger = Log.Logger; - if (logger == null) return; - - var dump = false; - - if (IsTimeoutThreadAbortException(exception)) - { - message += "\r\nThe thread has been aborted, because the request has timed out."; - - // dump if configured, or if stacktrace contains Monitor.ReliableEnter - dump = UmbracoConfig.For.CoreDebug().DumpOnTimeoutThreadAbort || IsMonitorEnterThreadAbortException(exception); - - // dump if it is ok to dump (might have a cap on number of dump...) - dump &= MiniDump.OkToDump(); - } - - if (dump) - { - try - { - var dumped = MiniDump.Dump(withException: true); - message += dumped - ? "\r\nA minidump was created in App_Data/MiniDump" - : "\r\nFailed to create a minidump"; - } - catch (Exception e) - { - message += string.Format("\r\nFailed to create a minidump ({0}: {1})", e.GetType().FullName, e.Message); - } - } - - logger.ForContext(reporting).Error(exception, message); + Error(reporting, exception, message, null); } + /// + public void Error(Type reporting, Exception exception) + { + Error(reporting, exception, string.Empty); + } + + /// public void Error(Type reporting, Exception exception, string messageTemplate, params object[] propertyValues) { var dump = false; diff --git a/src/Umbraco.Core/Logging/LoggerExtensions.cs b/src/Umbraco.Core/Logging/LoggerExtensions.cs index 211776b564..80071a8c02 100644 --- a/src/Umbraco.Core/Logging/LoggerExtensions.cs +++ b/src/Umbraco.Core/Logging/LoggerExtensions.cs @@ -8,7 +8,7 @@ namespace Umbraco.Core.Logging public static class LoggerExtensions { /// - /// Logs an error message. + /// Logs an error message /// /// The reporting type. /// The logger. @@ -20,7 +20,7 @@ namespace Umbraco.Core.Logging } /// - /// Logs a warning message. + /// Logs an error message with a structured message template /// /// The reporting type /// The logger. @@ -32,6 +32,17 @@ namespace Umbraco.Core.Logging logger.Error(typeof(T), exception, messageTemplate, propertyValues); } + /// + /// Logs an error message NOTE: This will log an empty message string + /// + /// The reporting type + /// The logger. + /// An exception + public static void Error(this ILogger logger, Exception exception) + { + logger.Error(typeof(T), exception); + } + /// /// Logs a warning message. /// @@ -44,7 +55,7 @@ namespace Umbraco.Core.Logging } /// - /// Logs a warning message. + /// Logs a warning message with a structured message template /// /// The reporting type /// The logger. @@ -68,7 +79,7 @@ namespace Umbraco.Core.Logging } /// - /// Logs a warning message. + /// Logs a warning message with an exception with a structured message template /// /// The reporting type /// The logger. @@ -92,7 +103,7 @@ namespace Umbraco.Core.Logging } /// - /// Logs a information message. + /// Logs a information message with a structured message template /// /// The reporting type /// The logger. @@ -115,7 +126,7 @@ namespace Umbraco.Core.Logging } /// - /// Logs a debugging message. + /// Logs a debugging message with a structured message template /// /// The reporting type /// The logger. @@ -138,7 +149,7 @@ namespace Umbraco.Core.Logging } /// - /// Logs a Verbose message. + /// Logs a Verbose message with a structured message template /// /// The reporting type /// The logger. @@ -164,7 +175,7 @@ namespace Umbraco.Core.Logging /// - /// Logs a fatal message. + /// Logs a fatal message with a structured message template /// /// The reporting type. /// The logger. diff --git a/src/Umbraco.Tests/TestHelpers/ConsoleLogger.cs b/src/Umbraco.Tests/TestHelpers/ConsoleLogger.cs index 4c7fc8511b..5611626b7d 100644 --- a/src/Umbraco.Tests/TestHelpers/ConsoleLogger.cs +++ b/src/Umbraco.Tests/TestHelpers/ConsoleLogger.cs @@ -1,5 +1,4 @@ using System; -using System.Linq; using Umbraco.Core.Logging; namespace Umbraco.Tests.TestHelpers @@ -12,6 +11,12 @@ namespace Umbraco.Tests.TestHelpers Console.WriteLine(exception); } + public void Error(Type reporting, Exception exception) + { + Console.WriteLine("ERROR {0}", reporting.Name); + Console.WriteLine(exception); + } + public void Error(Type reporting, Exception exception, string format, params object[] args) { Console.WriteLine("ERROR {0} - {1}", reporting.Name, string.Format(format, args));