Serilog:如何在 asp.net 核心的 'Class Library' 中使用日志记录
Serilog : How to use logging in 'Class Library' of asp.net core
我正在使用 Serilog 登录 asp.net 核心网站,项目中使用了 'class library'。
- 我们如何在 asp.net 核心 class 库中实现日志记录?
- 有没有办法在'class library'中独立实现日志记录?
简单地说,您将 Microsoft.Extensions.Logging
NuGet 包添加到您的 class 库中,然后将 ILogger<T>
注入您的 classes:
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
是一个 外观 ,一个 API 用于日志记录,实际上它本身并不执行任何日志记录。当你有一个真正的应用程序使用它时,实际的日志记录是通过你插入到外观的提供者发生的。这就是 Serilog 之类的东西出现的地方。在您的实际应用程序中,您将配置日志记录以使用 Serilog,然后任何时候任何时候调用 ILogger
上的方法,该方法都会代理到您的实际日志记录提供程序( Serilog),然后 Serilog 执行实际的日志记录。
我正在使用 Serilog 登录 asp.net 核心网站,项目中使用了 'class library'。
- 我们如何在 asp.net 核心 class 库中实现日志记录?
- 有没有办法在'class library'中独立实现日志记录?
简单地说,您将 Microsoft.Extensions.Logging
NuGet 包添加到您的 class 库中,然后将 ILogger<T>
注入您的 classes:
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
是一个 外观 ,一个 API 用于日志记录,实际上它本身并不执行任何日志记录。当你有一个真正的应用程序使用它时,实际的日志记录是通过你插入到外观的提供者发生的。这就是 Serilog 之类的东西出现的地方。在您的实际应用程序中,您将配置日志记录以使用 Serilog,然后任何时候任何时候调用 ILogger
上的方法,该方法都会代理到您的实际日志记录提供程序( Serilog),然后 Serilog 执行实际的日志记录。