NLog двойная регистрация - как найти проблему? - PullRequest
0 голосов
/ 06 октября 2018

Есть множество статей по SO и остальной части интернета на эту тему, но я думаю, что я следовал всем советам и рекомендациям, и я все еще получаю двойные журналы, поэтому ясно, что я делаю что-тов противном случае здесь неправильно.

У меня есть веб-приложение .NET Core со следующим разделом rules в моем файле nlog.config:

  <rules>
    <logger name="MyApp.*" minlevel="Info" writeTo="database" final="true" />
    <logger name="*" minlevel="Error" writeTo="fileSystem,database" final="true"/>
    <logger name="*" minlevel="Warn" writeTo="database" final="true"/>
  </rules>

В моем методе Startup.ConfigureServices у меня естьстрока:

services.AddLogging();

и в методе Startup.Configure у меня есть ссылка на вспомогательный метод, например, так:

app.StartLogging(Configuration);

Этот вспомогательный метод написан так:

public static IApplicationBuilder StartLogging(this IApplicationBuilder app, IConfiguration config)
{
    var loggerFactory = app.ApplicationServices.GetService<ILoggerFactory>();
    loggerFactory.AddNLog();
    LogManager.LoadConfiguration("nlog.config");
    LogManager.Configuration.Variables["appDbConnectionString"] = config["ConnectionStrings:ApplicationContext"];
    return app;
}

... и все.В этом проекте больше нет упоминаний о NLog.Тем не менее, я все еще получаю двойные записи журнала для информации.Зачем?И как я могу обнаружить, что на моем ILoggerFactory?

работают несколько регистраторов NLog
...