Adds new method to ILogger for taking only the exception - NOTE will add an empty string for the message
This commit is contained in:
@@ -13,6 +13,12 @@ namespace Umbraco.Core.Logging
|
||||
System.Diagnostics.Debug.WriteLine(message + Environment.NewLine + exception, reporting.FullName);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public void Error(Type reporting, Exception exception)
|
||||
{
|
||||
System.Diagnostics.Debug.WriteLine(Environment.NewLine + exception, reporting.FullName);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public void Error(Type reporting, Exception exception, string messageTemplate, params object[] args)
|
||||
{
|
||||
|
||||
@@ -15,6 +15,13 @@ namespace Umbraco.Core.Logging
|
||||
/// <param name="message">A message.</param>
|
||||
void Error(Type reporting, Exception exception, string message);
|
||||
|
||||
/// <summary>
|
||||
/// Logs an error message NOTE: This will log an empty message string
|
||||
/// </summary>
|
||||
/// <param name="reporting">The reporting type.</param>
|
||||
/// <param name="exception">An exception.</param>
|
||||
void Error(Type reporting, Exception exception);
|
||||
|
||||
/// <summary>
|
||||
/// Logs an error message - using a structured log message
|
||||
/// </summary>
|
||||
|
||||
@@ -50,43 +50,18 @@ namespace Umbraco.Core.Logging
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
[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);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public void Error(Type reporting, Exception exception)
|
||||
{
|
||||
Error(reporting, exception, string.Empty);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public void Error(Type reporting, Exception exception, string messageTemplate, params object[] propertyValues)
|
||||
{
|
||||
var dump = false;
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Umbraco.Core.Logging
|
||||
public static class LoggerExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Logs an error message.
|
||||
/// Logs an error message
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The reporting type.</typeparam>
|
||||
/// <param name="logger">The logger.</param>
|
||||
@@ -20,7 +20,7 @@ namespace Umbraco.Core.Logging
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs a warning message.
|
||||
/// Logs an error message with a structured message template
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The reporting type</typeparam>
|
||||
/// <param name="logger">The logger.</param>
|
||||
@@ -32,6 +32,17 @@ namespace Umbraco.Core.Logging
|
||||
logger.Error(typeof(T), exception, messageTemplate, propertyValues);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs an error message NOTE: This will log an empty message string
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The reporting type</typeparam>
|
||||
/// <param name="logger">The logger.</param>
|
||||
/// <param name="exception">An exception</param>
|
||||
public static void Error<T>(this ILogger logger, Exception exception)
|
||||
{
|
||||
logger.Error(typeof(T), exception);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs a warning message.
|
||||
/// </summary>
|
||||
@@ -44,7 +55,7 @@ namespace Umbraco.Core.Logging
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs a warning message.
|
||||
/// Logs a warning message with a structured message template
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The reporting type</typeparam>
|
||||
/// <param name="logger">The logger.</param>
|
||||
@@ -68,7 +79,7 @@ namespace Umbraco.Core.Logging
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs a warning message.
|
||||
/// Logs a warning message with an exception with a structured message template
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The reporting type</typeparam>
|
||||
/// <param name="logger">The logger.</param>
|
||||
@@ -92,7 +103,7 @@ namespace Umbraco.Core.Logging
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs a information message.
|
||||
/// Logs a information message with a structured message template
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The reporting type</typeparam>
|
||||
/// <param name="logger">The logger.</param>
|
||||
@@ -115,7 +126,7 @@ namespace Umbraco.Core.Logging
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs a debugging message.
|
||||
/// Logs a debugging message with a structured message template
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The reporting type</typeparam>
|
||||
/// <param name="logger">The logger.</param>
|
||||
@@ -138,7 +149,7 @@ namespace Umbraco.Core.Logging
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs a Verbose message.
|
||||
/// Logs a Verbose message with a structured message template
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The reporting type</typeparam>
|
||||
/// <param name="logger">The logger.</param>
|
||||
@@ -164,7 +175,7 @@ namespace Umbraco.Core.Logging
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Logs a fatal message.
|
||||
/// Logs a fatal message with a structured message template
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The reporting type.</typeparam>
|
||||
/// <param name="logger">The logger.</param>
|
||||
|
||||
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user