【发布时间】:2020-10-06 11:14:41
【问题描述】:
我正在使用 Serilog 登录 asp.net 核心网站,并且项目中使用了“类库”。
- asp.net核心类库中如何实现日志记录?
- 有没有办法在“类库”中独立实现日志记录?
【问题讨论】:
-
Gurpreet Kailey 能否分享一下您如何在类库中实现 serilog 的代码。我正在尝试实现它,但不确定如何处理
我正在使用 Serilog 登录 asp.net 核心网站,并且项目中使用了“类库”。
【问题讨论】:
只需将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 进行实际的日志记录。
【讨论】: