log4net-RollingFileAppender-XmlLayoutSchemaLog4j is not logging in .Net Core 3

Viewed 909

I am using .Net Core 3 preview. Visual Studio 2017. I have tried setting the configuration for the log4net by config file and by code, The file is being created but it doesn't log any message.

my config file:

<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 with the XmlLayoutSchemaLog4j doesn't work. Other params for the RollingFileAppnder and other Fileappender works. I have download an example and tried to configure it to XmlLayoutSchemaLog4j also in code:

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;

I get no debug errors from the log4net. any Idea?

1 Answers

I am not sure how you are initializing your Log4Net in Startup.cs and Programs.cs But use below sample as a reference. Also maybe you need to do some cleaning and moving code configuration to Log4Net config file as here also

.NET Core 2.2 Logging

.NET Core 2.2 Log4Net Sample

Related