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;
}
}
}