Есть множество статей по 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