繁体   English   中英

.NET Core 2.1从类库登录到数据库

[英].NET Core 2.1 Logging to database from a Class Library

是否可以使用.NET Core 2.1的类库中的配置项登录数据库?

我设法使用NLog为.NET MVC 5构建了一个工作版本。 但是,当涉及到.NET Core 2.1时,就依赖于在Startup.cs和Program.cs中将其设置为服务。

我实际上是在另一篇文章中问过的,但这只是为了获得有关指南或教程的建议,以查看是否可行?

这是我展示Ncode ASP.NET Core 2.1使用Nlog配置作为.NET MVC5的代码和配置的另一篇文章

尤其是在类库中,应该使用日志记录外观,例如Microsoft.Extensions.Logging,而不是具体的日志记录提供程序(例如NLog)。 然后,您只需将日志记录界面注入类库类中即可:

public class Foo
{
    private readonly ILogger _logger;

    public Foo(ILogger<Foo> logger)
    {
        _logger = logger ?? throw new ArgumentNullException(nameof(logger));
    }

    ...
}

然后,在类内部,使用设置为_logger ivar的注入日志记录实例。 然后,在利用此类的实际项目中,设置您的日志记录提供程序并注册适当的服务。 这样,每个单独的应用程序都控制自己的日志记录提供程序,而您的类库类仅使用抽象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM