簡體   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