log 4net с. NET Framework 4.6.2 - PullRequest
       22

log 4net с. NET Framework 4.6.2

0 голосов
/ 24 января 2020

Я получил свой новый Windows 10, требующий установки Visual Studio 2019 только с. NET Framework 4.6.2. Я также имею в виду все доступные фреймворки в VS Installer, включая фреймворк 4.5.2, но не могу выбрать его, поэтому я выбрал 4.6.2, используя мой последний пакет log 4net. Но теперь он перестал создавать мой файл журнала при использовании приложения.

Глядя на страницу «Поддерживаемые фреймворки» по адресу Apache Log 4Net, он не отображает 4.6 или 4.6.2. Означает ли это, что он вообще не поддерживает? Пытался клонировать репозиторий github самостоятельно, но все равно он не создает мой лог-файл.

Любые известные проблемы с. NET 4.6.x?

Обновление с кодом: Globals .asax.cs содержит это:

    protected void Application_Start(object sender, EventArgs e)
    {
        log4net.Config.XmlConfigurator.Configure();
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
    }

web.config содержит это:

  <configSections>
   <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
  </configSections>

и это:

 <log4net>
   <root>
    <level value="ALL"/>
    <appender-ref ref="file"/>
  </root>
  <appender name="file" type="log4net.Appender.RollingFileAppender">
   <encoding value="utf-8"/>
   <file value="log\LOG_"/>
   <appendToFile value="true"/>
   <rollingStyle value="Date"/>
   <maxSizeRollBackups value="5"/>
   <maximumFileSize value="15MB"/>
   <staticLogFileName value="false"/>
   <datePattern value="yyyy-MM-dd'.log'"/>
   <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %level %logger - %message%newline"/>
   </layout>
 </appender>
</log4net>

и мои файлы cs вызывают это журнал:

log4net.LogManager.GetLogger(HttpContext.Current.Session.SessionID).Debug(message);

1 Ответ

0 голосов
/ 06 февраля 2020

Очень странно. Файл Global.asax отсутствовал в каталоге root. Поскольку Global.asax.cs скомпилирован в DLL, я думал, что он все равно будет работать, но нам нужно сохранить Global.asax, содержимое которого просто ТАК:

<%@ Application Codebehind="Global.asax.cs" Inherits="MyNamespace.App.Global" Language="C#" %>

Без этого все Application_Start, имеющие Вызов .Configure () для журнала 4net НЕ вызывается. Не знал этого.

...