using Microsoft.Extensions.Logging;
namespace RemoteExec.Client;
///
/// Logger provider that forwards log messages to an existing logger instance.
///
internal class RemoteExecLoggerProvider : ILoggerProvider
{
private bool disposedValue;
private readonly ILogger logger;
///
/// Initializes a new instance of the class.
///
/// The logger instance to forward messages to.
public RemoteExecLoggerProvider(ILogger logger)
{
this.logger = logger;
}
///
public ILogger CreateLogger(string categoryName)
{
return logger;
}
///
/// Disposes the logger provider.
///
/// True if disposing managed resources.
protected virtual void Dispose(bool disposing)
{
if (!disposedValue)
{
// No managed or unmanaged resources to dispose
disposedValue = true;
}
}
///
public void Dispose()
{
Dispose(disposing: true);
GC.SuppressFinalize(this);
}
}