namespace Divergic.Logging.Xunit { using System; using Microsoft.Extensions.Logging; /// /// The /// class provides extension methods for wrapping instances in . /// public static class LoggerExtensions { /// /// Returns a for the specified logger. /// /// The source logger. /// The cache logger. /// The is null. public static ICacheLogger WithCache(this ILogger logger) { logger = logger ?? throw new ArgumentNullException(nameof(logger)); var cacheLogger = new CacheLogger(logger); return cacheLogger; } /// /// Returns a for the specified logger. /// /// The type of generic logger. /// The source logger. /// The cache logger. /// The is null. public static ICacheLogger WithCache(this ILogger logger) { logger = logger ?? throw new ArgumentNullException(nameof(logger)); var cacheLogger = new CacheLogger(logger); return cacheLogger; } internal static ICacheLogger WithCache(this ILogger logger, ILoggerFactory factory) { var cacheLogger = new CacheLogger(logger, factory); return cacheLogger; } internal static ICacheLogger WithCache(this ILogger logger, ILoggerFactory factory) { var cacheLogger = new CacheLogger(logger, factory); return cacheLogger; } } }