initial commit
This commit is contained in:
+8
@@ -0,0 +1,8 @@
|
||||
using System;
|
||||
|
||||
namespace log4net.Appender;
|
||||
|
||||
internal interface IAppenderServiceProvider
|
||||
{
|
||||
IServiceProvider ServiceProvider { set; }
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace log4net.Appender;
|
||||
|
||||
public abstract class ServiceAppenderSkeleton : AppenderSkeleton, IAppenderServiceProvider, IDisposable
|
||||
{
|
||||
private IServiceProvider _serviceProvider;
|
||||
IServiceProvider IAppenderServiceProvider.ServiceProvider { set => _serviceProvider = value; }
|
||||
|
||||
protected T ResolveService<T>() where T : class
|
||||
{
|
||||
if (_serviceProvider == null)
|
||||
return default;
|
||||
|
||||
return _serviceProvider.GetService<T>();
|
||||
}
|
||||
|
||||
public void Dispose() => _serviceProvider = null;
|
||||
}
|
||||
Reference in New Issue
Block a user