I would like to store log4net config data in my application.config file. Based on my understanding of the documentation, I did the following:
-
Add a reference to log4net.dll
-
Add the following line in AssemblyInfo.cs:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
-
Initialize the logger as follows:
private static readonly ILog log = LogManager.GetLogger(typeof(frmWizard));
-
I have the following code in my app.config:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>
However, when I run the application, I get the following error on the console:
No appender named [Consoleappender] could be found.
How can I get log4net to read settings from the config file?
Thanks!
Best Solution
Add a line to your app.config in the configSections element
Then later add the log4Net section, but delegate to the actual log4Net config file elsewhere...
In your application code, when you create the log, write