Serilog:如何在asp.net core的“类库”中使用日志记录

时间:2019-06-28 09:28:39

标签: asp.net-core-1.0 serilog

我正在使用Serilog登录asp.net核心网站,并且该项目中使用了“类库”。

  1. 如何在asp.net核心类库中实现登录?
  2. 有什么方法可以在“类库”中独立实现日志记录吗?

1 个答案:

答案 0 :(得分:1)

只需将Microsoft.Extensions.Logging NuGet包添加到您的类库中,然后将ILogger<T>注入到您的类中:

public class MyClass
{
    private readonly ILogger _logger;

    public MyClass(ILogger<MyClass> logger)
    {
        _logger = logger;
    }

    public void DoSomething()
    {
        _logger.LogInformation("I'm doing something here.");
    }
}

ILogger是一个 facade ,这是一种用于日志记录的API,实际上它本身并不进行任何日志记录。实际的日志记录是通过在拥有真实应用程序的基础上插入外观的提供程序进行的。这就是类似Serilog的地方。在您的实际应用程序中,您将配置日志记录以使用Serilog,然后在任何时候ILogger上调用一个方法,该方法都会被代理到您的实际真实日志记录提供者( Serilog),然后Serilog进行实际的日志记录。