首页 > 解决方案 > 在代码中实例化对象时使用带有类型记录器的 Microsoft 日志记录扩展?

问题描述

学习如何使用 Microsoft 日志记录扩展、DI 和 Serilog。对于控制器类,它可以正常工作,即我将 ILogger 添加到构造函数中,并保存对记录器的本地引用,其余的由 DI 完成。

我不确定如何为控制器实例化的类实现这一点。例如:

public class MyController: ControllerBase
{
     private readonly ILogger<MyController> _logger;
     public MyController(ILogger<MyController> logger) ( _logger = logger; }

     public bool DoWork() 
    {
         MyWorker w = new MyWorker(???); 
         w.DoSomething();
    }
}

public class MyWorker
{
     private readonly ILogger<MyWorker> _logger;
     public MyWorker(ILogger<MyWorker> logger) 
     {
          _logger = logger;
     }

     public void DoSomething()
     {
          _logger.Debug("DoSomething");
     }

}

当实例化 MyWorker 以便与 DI 一起工作时,这段代码应该是什么样子?

标签: c#.net-core

解决方案


推荐阅读