![](/img/trans.png)
[英]ASP.NET Core 2.1 Referring to ApplicationDbContext from Class Library
[英].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中将其设置为服务。
我实际上是在另一篇文章中问过的,但这只是为了获得有关指南或教程的建议,以查看是否可行?
尤其是在类库中,应该使用日志记录外观,例如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.