从nuget库正确记录日志

问题描述 投票:0回答:1

我正在开发可从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>)没有关联,因为我在静态类。

有人能指出我正确的方向吗?谢谢!

c# .net uwp .net-standard-2.0
1个回答
0
投票

除了使用专用方法(在您的情况下为Microsoft.Extensions.Logging.Abstractions之外,我没有更好的方法通过AttachLogger将依赖项“注入”到静态类中。)>

关于通用Logger<T>,您可以注入ILoggerFactory并创建与您的班级关联的记录器

© www.soinside.com 2019 - 2024. All rights reserved.