我正在开发可从WPF应用程序和UWP应用程序使用的nuget库,并且我想使用Microsoft.Extensions.Logging.Abstractions
为用户提供一种从其应用程序(Serilog,NLog等)中插入其选择的记录器的方法。 )。因此,我从这里开始:
public static partial class FrameworkElementExtensions
{
internal static ILogger _logger;
public static void AttachLogger(ILogger logger) => _logger = logger;
.
.
.
}
在这种情况下,我需要将日志记录添加到基于FrameworkElement的扩展方法中。我感觉自己走错路了,因为我有一个名为AttachLogger
的函数来注入记录器,而且我的ILogger
与类型(例如:ILogger<T>
)没有关联,因为我在静态类。
有人能指出我正确的方向吗?谢谢!
除了使用专用方法(在您的情况下为Microsoft.Extensions.Logging.Abstractions
之外,我没有更好的方法通过AttachLogger
将依赖项“注入”到静态类中。)>
关于通用Logger<T>
,您可以注入ILoggerFactory
并创建与您的班级关联的记录器