Журнал 4 Net не записывает при публикации


Я использую log4net на .Net Core 2.0, при запуске из visual studio все записывается нормально, однако при публикации моего приложения (локально). Файл создается, но в него не записываются никакие сообщения. (При запуске в debug и release). Вот моя конфигурация:

<?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>

Мои Настройки Приложений.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();
    //...
}

Это не проблема с разрешениями, потому что файл все еще создается, он просто пустой. Мой лучший наверное, это связано с уровнем ведения журнала? Я бы подумал, что публикация в debug исправит это.

Как я могу заставить журнал работать, когда он опубликован?

Примечание я рассмотрел несколько других вопросов Об этом, однако их проблема, похоже, заключается в том, что файл не был скопирован в каталог publish. Такой как log4net.Config находится в моем каталоге publish и это не проблема

1 2

1 ответ:

Оказывается, там мы несколько appsettings.json и там также было appsettings.Development.json,

Я изменяю их оба, чтобы использовать:

"LogLevel": {
  "Default": "Information",
  "System": "Information",
  "Microsoft": "Information"
}  

И все заработало.