using System; using System.Linq; namespace Umbraco.Core.Logging { /// /// Provides extension methods for the interface. /// public static class LoggerExtensions { /// /// Logs an error message. /// /// The reporting type. /// The logger. /// A message. /// An exception. public static void Error(this ILogger logger, string message, Exception exception = null) { logger.Error(typeof(T), message, exception); } /// /// Logs a warning message. /// /// The reporting type. /// The logger. /// A message. public static void Warn(this ILogger logger, string message) { logger.Warn(typeof(T), message); } /// /// Logs a warning message. /// /// The reporting type. /// The logger. /// A message builder. public static void Warn(this ILogger logger, Func messageBuilder) { logger.Warn(typeof(T), messageBuilder); } /// /// Logs a formatted warning message with an exception. /// /// The reporting type. /// The logger. /// An exception. /// A message builder. public static void Warn(this ILogger logger, Exception exception, Func messageBuilder) { logger.Warn(typeof(T), exception, messageBuilder); } /// /// Logs a formatted warning message with an exception. /// /// The reporting type. /// The logger. /// An exception. /// A message. public static void Warn(this ILogger logger, Exception exception, string message) { logger.Warn(typeof(T), exception, message); } /// /// Logs an information message. /// /// The reporting type. /// The logger. /// A message. public static void Info(this ILogger logger, string message) { logger.Info(typeof(T), message); } /// /// Logs an information message. /// /// The reporting type. /// The logger. /// A message builder. public static void Info(this ILogger logger, Func messageBuilder) { logger.Info(typeof(T), messageBuilder); } /// /// Logs a debugging message. /// /// The reporting type. /// The logger. /// A message. public static void Debug(this ILogger logger, string message) { logger.Debug(typeof(T), message); } /// /// Logs a debugging message. /// /// The reporting type. /// The logger. /// A message builder. public static void Debug(this ILogger logger, Func messageBuilder) { logger.Debug(typeof(T), messageBuilder); } } }