Давайте представим, что у меня есть два проекта.
Первый - это ASP.NET Core MVC проект , для ведения журнала которого используется NLog.Extensions.Logging
.Это замечательно;Я могу использовать внедрение зависимостей на моих контроллерах, чтобы получить экземпляр ILogger
, а файл nlog.config
содержит, ну, в общем, мою конфигурацию NLog.
Второй - это библиотека классов, от которой зависит API,это напрямую зависит от NLog
для его регистрации.Он содержит такие вызовы:
public class SampleClass
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public void DoStuff()
{
if (_failed) Logger.Error("oh no");
}
}
Эти классы создаются с помощью некоторого рефлексивного волшебства, и я не могу использовать внедрение зависимостей для замены их регистратора.Вы также можете думать о них как о некой модели, которая не может быть реализована при запуске.
Как мне сделать так, чтобы журналы моей библиотеки отображались в выходных данных журналирования API? Я бы ожидал, что они будут пойманы nlog.config
автоматически, но они, похоже, не будут.