Ведение журнала с помощью NLog в классе Model ядра MVC Asp.Net - PullRequest
0 голосов
/ 29 марта 2019

Я хочу зарегистрировать класс модели с помощью nlog. Но происходит исключение потому что конструктор, который принимает журнал в качестве аргумента, не вызывается.

Класс моей модели:

using Microsoft.Extensions.Logging;
using NLog.Extensions.Logging;

public class MyModel
{
    private ILogger<MyController> _logger = null;
    public MyVariable _myVar = null;

    // Constructor
    public MyModel()
    {
        // Required initialize.
        MyProp = new MyVariable();
    }

    // Constructor(With logger)
    public MyModel(ILogger<MyModel> logger)
    {
        MyProp = new MyVariable();
        _logger = logger;
    }

    public MyModel DoSomething(){
        // do shomething...

        _logger.LogTrace("Trace");
        // => NullReferenceException occurred.
        // => Because _logger is null.
        return this;
    }
}

Мой класс контроллеров:

public class MyController : Controller
{
    public IActionResult Index()
    {
        return View();
    }
    public IActionResult DoSomething()
    {
        var model = new MyModel();
        return View(model.DoSomething());
    }
}

Как я могу вызвать конструктор, который принимает в качестве аргумента логгер?

...