log4net-RollingFileAppender-XmlLayoutSchemaLog4j не входит в систему .Net Core 3 - PullRequest
0 голосов
/ 21 декабря 2018

Я использую .Net Core 3 Preview.Visual Studio 2017. Я попытался установить конфигурацию для log4net по файлу конфигурации и по коду. Файл создается, но он не регистрирует никаких сообщений.

мой файл конфигурации:

<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
  </configSections>
  <appSettings>
    <add key="log4net.Internal.Debug" value="true"/>
  </appSettings>

<log4net>
  <root>
    <level value="All"/>
    <appender-ref ref="LogFileAppender"/>
    <appender-ref ref="ColoredConsoleAppender"/>
    <appender-ref ref="DebugAppender" />
  </root>
  <appender name="DebugAppender" type="log4net.Appender.DebugAppender">
    <immediateFlush value="true" />
    <layout type="log4net.Layout.SimpleLayout" />
  </appender>
  <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
    <file type="log4net.Util.PatternString" value="LogFile.xml" />
    <appendToFile value="true" />
    <datePattern value="yyyyMMdd" />
    <rollingStyle value="Date" />
    <layout type="log4net.Layout.XmlLayoutSchemaLog4j">
      <locationInfo value="true" />
    </layout>
  </appender>
  <appender name="ColoredConsoleAppender" type="log4net.Appender.ConsoleAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger: %message%newline"/>
    </layout>
  </appender>
</log4net>
</configuration>

RollingFileAppnder с XmlLayoutSchemaLog4j не работает.Другие параметры для RollingFileAppnder и других Fileappender работает.Я скачал пример и попытался настроить его на XmlLayoutSchemaLog4j также в коде:

Hierarchy hierarchy = (Hierarchy)logRepository;


        var patternLayout = new XmlLayoutSchemaLog4j();
        patternLayout.LocationInfo = true;
        patternLayout.ActivateOptions();

        var roller = new RollingFileAppender
        {
            AppendToFile = true,
            MaximumFileSize = "2MB",
            File = "logger.xml",
            PreserveLogFileNameExtension = true,
            MaxSizeRollBackups = 10,
            RollingStyle = RollingFileAppender.RollingMode.Size,
            Layout = patternLayout
        };
        roller.ActivateOptions();
        hierarchy.Root.AddAppender(roller);

        hierarchy.Root.Level = Level.Info;
        hierarchy.Configured = true;

Я не получаю ошибок отладки из log4net.Любая идея?

1 Ответ

0 голосов
/ 13 мая 2019

Я не уверен, как вы инициализируете свою Log4Net в Startup.cs и Programs.cs, но используйте приведенный ниже пример в качестве ссылки.Также, возможно, вам нужно выполнить некоторую очистку и перенести конфигурацию кода в файл конфигурации Log4Net, как здесь

.NET Core 2.2 Logging

.NET Core 2.2 Log4NetПример

...