John Threepwood John Threepwood - 7 months ago 212
C# Question

Why is log4net not recognized in configuration file?

I wrote a test console application in C# using log4net:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using log4net;
using log4net.Config;

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

namespace Log4Net_Test
class Program
private static readonly ILog log = LogManager.GetLogger(typeof(Program));

static void Main(string[] args)
log.Info("Entering application");
log.Debug("Debug message");
log.Info("Leaving application");

file looks like this:

<?xml version="1.0" encoding="utf-8" ?>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
<add key="log4net.Internal.Debug" value="true"/>
<!-- A1 is set to be a ConsoleAppender -->
<appender name="A1" type="log4net.Appender.FileAppender">
<file value="logfile.txt" />
<appendToFile value="false" />

<!-- A1 uses PatternLayout -->
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-4timestamp [%thread] %-5level %logger %ndc - %message%newline" />

<!-- Set root logger level to DEBUG and its only appender to A1 -->
<level value="DEBUG" />
<appender-ref ref="A1" />

Executing the test program ends up in the following error message:

log4net:ERROR Exception while reading ConfigurationSettings. Check your .config
file is well formed XML.
System.Configuration.ConfigurationErrorsException: Configuration system failed t
o initialize ---> System.Configuration.ConfigurationErrorsException: Unrecognize
d configuration section log4net.

What is wrong with my configuration file?

configSections´ part was missing, as pointed out in the accepted answer. But I also had to remove the
section, otherwise the same error appeared. I do not know why the
startup` section is causing the problem, too. Perhaps someone more experienced can tell and write a comment.


You need to add log4net also in the section block


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