Я использую log4net в .Net Core 2.0, при запуске из Visual Studio все отлично записывается, однако, когда я публикую свое приложение (локально).Файл создан, но в файл не записано никаких сообщений.(При запуске в отладке и выпуске).Вот моя конфигурация:
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<file value="./logs/ids4" />
<datePattern value="yyyy-MM-dd.'txt'"/>
<staticLogFileName value="false"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<maxSizeRollBackups value="100"/>
<maximumFileSize value="15MB"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level App %newline %message %newline %newline"/>
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
My AppSettings.Json:
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
}
}
В моем файле запуска я настраиваю ведение журнала следующим образом:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
loggerFactory.AddLog4Net();
//...
}
Это не такпроблема с разрешениями либо потому, что файл все еще создан, он просто пуст.Мое лучшее предположение было бы, это связано с уровнем регистрации?Я полагаю, что публикация в отладке исправит это.
Как мне заставить журналирование работать при публикации?
Примечание Я смотрел на несколько других вопросы по этому поводу, однако их проблема заключается в том, что файл не был скопирован в каталог публикации.Log4Net.Config находится в моем общедоступном каталоге, и это не проблема