【问题标题】:How to log Trace in .NET Core library?如何在 .NET Core 库中记录 Trace?
【发布时间】:2020-04-20 23:28:29
【问题描述】:

我知道您可以在程序或控制器中使用 ILogger 的依赖注入,因此日志消息可能会出现在控制台和其他记录器中。但是,在.net核心库中,我想使用Trace.TraceError()和Trace.TraceInformation()等,甚至使用TraceSource。

是否可以让 Trace.TraceError(...) 中的内容出现在 .NET Core 控制台和其他记录器中?

【问题讨论】:

标签: c# debugging asp.net-core logging trace


【解决方案1】:

只需在库的构造函数中包含一个 ILogger。然后,对记录器上的 Log 方法的调用将传递给任何 LoggerProviders(跟踪、控制台等)added in your configuration

public class MyLib
{
  private ILogger _logger;

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

  public void DoSomething()
  {
    _logger.LogInformation("Info")
    _logger.LogError("Error")
  }
}

【讨论】:

  • 问题是ILogger 从一开始就不可用(当您的流程开始时)。
猜你喜欢
  • 2017-01-26
  • 2019-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
  • 2020-03-11
  • 1970-01-01
相关资源
最近更新 更多