我正在使用Serilog登录asp.net核心网站,并且该项目中使用了“类库”。
答案 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进行实际的日志记录。