2017-07-20 11:21:28 +02:00
|
|
|
|
using System;
|
2015-01-07 17:23:24 +11:00
|
|
|
|
|
|
|
|
|
|
namespace Umbraco.Core.Logging
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// Provides extension methods for the <see cref="ILogger"/> interface.
|
2015-01-07 17:23:24 +11:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static class LoggerExtensions
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
2018-08-23 12:14:07 +01:00
|
|
|
|
/// Logs an error message
|
2015-01-07 17:23:24 +11:00
|
|
|
|
/// </summary>
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// <typeparam name="T">The reporting type.</typeparam>
|
|
|
|
|
|
/// <param name="logger">The logger.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
/// <param name="exception">An exception.</param>
|
2018-08-17 15:41:58 +01:00
|
|
|
|
public static void Error<T>(this ILogger logger, Exception exception, string message)
|
2015-01-07 17:23:24 +11:00
|
|
|
|
{
|
2018-08-17 15:41:58 +01:00
|
|
|
|
logger.Error(typeof(T), exception, message);
|
2015-01-07 17:23:24 +11:00
|
|
|
|
}
|
|
|
|
|
|
|
2018-08-15 15:21:27 +01:00
|
|
|
|
/// <summary>
|
2018-08-23 12:14:07 +01:00
|
|
|
|
/// Logs an error message with a structured message template
|
2018-08-15 15:21:27 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <typeparam name="T">The reporting type</typeparam>
|
|
|
|
|
|
/// <param name="logger">The logger.</param>
|
|
|
|
|
|
/// <param name="messageTemplate">A structured message template</param>
|
|
|
|
|
|
/// <param name="exception">An exception</param>
|
|
|
|
|
|
/// <param name="propertyValues">Message property values</param>
|
2018-08-17 15:41:58 +01:00
|
|
|
|
public static void Error<T>(this ILogger logger, Exception exception, string messageTemplate, params object[] propertyValues)
|
2018-08-14 15:05:58 +01:00
|
|
|
|
{
|
2018-08-17 15:41:58 +01:00
|
|
|
|
logger.Error(typeof(T), exception, messageTemplate, propertyValues);
|
2018-08-14 15:05:58 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
2018-08-23 12:14:07 +01:00
|
|
|
|
/// <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);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2018-08-23 14:43:38 +01:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Logs an error message WITHOUT EX
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <typeparam name="T"></typeparam>
|
|
|
|
|
|
/// <param name="logger"></param>
|
|
|
|
|
|
/// <param name="message"></param>
|
|
|
|
|
|
public static void Error<T>(this ILogger logger, string message)
|
|
|
|
|
|
{
|
|
|
|
|
|
logger.Error(typeof(T), message);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Logs an error message - using a structured log message
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <typeparam name="T">The reporting type</typeparam>
|
|
|
|
|
|
/// <param name="logger">The logger.</param>
|
|
|
|
|
|
/// <param name="messageTemplate">A structured message template</param>
|
|
|
|
|
|
/// <param name="propertyValues">Message property values</param>
|
|
|
|
|
|
public static void Error<T>(this ILogger logger, string messageTemplate, params object[] propertyValues)
|
|
|
|
|
|
{
|
|
|
|
|
|
logger.Error(typeof(T), messageTemplate, propertyValues);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2015-01-07 17:23:24 +11:00
|
|
|
|
/// <summary>
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// Logs a warning message.
|
2015-01-07 17:23:24 +11:00
|
|
|
|
/// </summary>
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// <typeparam name="T">The reporting type.</typeparam>
|
|
|
|
|
|
/// <param name="logger">The logger.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
public static void Warn<T>(this ILogger logger, string message)
|
2015-01-07 17:23:24 +11:00
|
|
|
|
{
|
2016-09-11 19:57:33 +02:00
|
|
|
|
logger.Warn(typeof(T), message);
|
2015-01-07 17:23:24 +11:00
|
|
|
|
}
|
2016-09-11 19:57:33 +02:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2018-08-23 12:14:07 +01:00
|
|
|
|
/// Logs a warning message with a structured message template
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// </summary>
|
2018-08-15 15:21:27 +01:00
|
|
|
|
/// <typeparam name="T">The reporting type</typeparam>
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// <param name="logger">The logger.</param>
|
2018-08-15 15:21:27 +01:00
|
|
|
|
/// <param name="messageTemplate">A structured message template</param>
|
|
|
|
|
|
/// <param name="propertyValues">Message property values</param>
|
|
|
|
|
|
public static void Warn<T>(this ILogger logger, string messageTemplate, params object[] propertyValues)
|
2016-09-11 19:57:33 +02:00
|
|
|
|
{
|
2018-08-15 15:21:27 +01:00
|
|
|
|
logger.Warn(typeof(T), messageTemplate, propertyValues);
|
2016-09-11 19:57:33 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Logs a formatted warning message with an exception.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <typeparam name="T">The reporting type.</typeparam>
|
|
|
|
|
|
/// <param name="logger">The logger.</param>
|
|
|
|
|
|
/// <param name="exception">An exception.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
public static void Warn<T>(this ILogger logger, Exception exception, string message)
|
|
|
|
|
|
{
|
|
|
|
|
|
logger.Warn(typeof(T), exception, message);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2018-08-15 15:21:27 +01:00
|
|
|
|
/// <summary>
|
2018-08-23 12:14:07 +01:00
|
|
|
|
/// Logs a warning message with an exception with a structured message template
|
2018-08-15 15:21:27 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <typeparam name="T">The reporting type</typeparam>
|
|
|
|
|
|
/// <param name="logger">The logger.</param>
|
|
|
|
|
|
/// <param name="exception">An exception</param>
|
|
|
|
|
|
/// <param name="messageTemplate">A structured message template</param>
|
|
|
|
|
|
/// <param name="propertyValues">Message property values</param>
|
2018-08-14 15:05:58 +01:00
|
|
|
|
public static void Warn<T>(this ILogger logger, Exception exception, string messageTemplate, params object[] propertyValues)
|
|
|
|
|
|
{
|
|
|
|
|
|
logger.Warn(typeof(T), exception, messageTemplate, propertyValues);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Logs an information message.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <typeparam name="T">The reporting type.</typeparam>
|
|
|
|
|
|
/// <param name="logger">The logger.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
public static void Info<T>(this ILogger logger, string message)
|
|
|
|
|
|
{
|
|
|
|
|
|
logger.Info(typeof(T), message);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2018-08-23 12:14:07 +01:00
|
|
|
|
/// Logs a information message with a structured message template
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// </summary>
|
2018-08-15 15:21:27 +01:00
|
|
|
|
/// <typeparam name="T">The reporting type</typeparam>
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// <param name="logger">The logger.</param>
|
2018-08-15 15:21:27 +01:00
|
|
|
|
/// <param name="messageTemplate">A structured message template</param>
|
|
|
|
|
|
/// <param name="propertyValues">Message property values</param>
|
|
|
|
|
|
public static void Info<T>(this ILogger logger, string messageTemplate, params object[] propertyValues)
|
2015-01-07 17:23:24 +11:00
|
|
|
|
{
|
2018-08-15 15:21:27 +01:00
|
|
|
|
logger.Info(typeof(T), messageTemplate, propertyValues);
|
2015-01-07 17:23:24 +11:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// Logs a debugging message.
|
2015-01-07 17:23:24 +11:00
|
|
|
|
/// </summary>
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// <typeparam name="T">The reporting type.</typeparam>
|
|
|
|
|
|
/// <param name="logger">The logger.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
public static void Debug<T>(this ILogger logger, string message)
|
2015-01-07 17:23:24 +11:00
|
|
|
|
{
|
2016-09-11 19:57:33 +02:00
|
|
|
|
logger.Debug(typeof(T), message);
|
2015-01-07 17:23:24 +11:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2018-08-23 12:14:07 +01:00
|
|
|
|
/// Logs a debugging message with a structured message template
|
2015-01-07 17:23:24 +11:00
|
|
|
|
/// </summary>
|
2018-08-15 15:21:27 +01:00
|
|
|
|
/// <typeparam name="T">The reporting type</typeparam>
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// <param name="logger">The logger.</param>
|
2018-08-15 15:21:27 +01:00
|
|
|
|
/// <param name="messageTemplate">A structured message template</param>
|
|
|
|
|
|
/// <param name="propertyValues">Message property values</param>
|
|
|
|
|
|
public static void Debug<T>(this ILogger logger, string messageTemplate, params object[] propertyValues)
|
2015-01-07 17:23:24 +11:00
|
|
|
|
{
|
2018-08-15 15:21:27 +01:00
|
|
|
|
logger.Debug(typeof(T), messageTemplate, propertyValues);
|
2015-01-07 17:23:24 +11:00
|
|
|
|
}
|
2018-08-15 16:39:35 +01:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Logs a verbose message.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <typeparam name="T">The reporting type.</typeparam>
|
|
|
|
|
|
/// <param name="logger">The logger.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
public static void Verbose<T>(this ILogger logger, string message)
|
|
|
|
|
|
{
|
|
|
|
|
|
logger.Verbose(typeof(T), message);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2018-08-23 12:14:07 +01:00
|
|
|
|
/// Logs a Verbose message with a structured message template
|
2018-08-15 16:39:35 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <typeparam name="T">The reporting type</typeparam>
|
|
|
|
|
|
/// <param name="logger">The logger.</param>
|
|
|
|
|
|
/// <param name="messageTemplate">A structured message template</param>
|
|
|
|
|
|
/// <param name="propertyValues">Message property values</param>
|
|
|
|
|
|
public static void Verbose<T>(this ILogger logger, string messageTemplate, params object[] propertyValues)
|
|
|
|
|
|
{
|
|
|
|
|
|
logger.Verbose(typeof(T), messageTemplate, propertyValues);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2018-08-17 11:38:31 +01:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Logs a fatal message.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <typeparam name="T">The reporting type.</typeparam>
|
|
|
|
|
|
/// <param name="logger">The logger.</param>
|
|
|
|
|
|
/// <param name="exception">An exception.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
public static void Fatal<T>(this ILogger logger, Exception exception, string message)
|
|
|
|
|
|
{
|
|
|
|
|
|
logger.Fatal(typeof(T), exception, message);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2018-08-23 12:14:07 +01:00
|
|
|
|
/// Logs a fatal message with a structured message template
|
2018-08-17 11:38:31 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <typeparam name="T">The reporting type.</typeparam>
|
|
|
|
|
|
/// <param name="logger">The logger.</param>
|
|
|
|
|
|
/// <param name="exception">An exception.</param>
|
|
|
|
|
|
/// <param name="messageTemplate">A structured message template</param>
|
|
|
|
|
|
/// <param name="propertyValues">Message property values</param>
|
|
|
|
|
|
public static void Fatal<T>(this ILogger logger, Exception exception, string messageTemplate, params object[] propertyValues)
|
|
|
|
|
|
{
|
|
|
|
|
|
logger.Fatal(typeof(T), exception, messageTemplate, propertyValues);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2015-01-07 17:23:24 +11:00
|
|
|
|
}
|
2017-07-20 11:21:28 +02:00
|
|
|
|
}
|