I have been attempting to get log4net logging in my asp.net web application with no success or any noticable errors. I am attempting to use the ADONetAppender appender with the
Internal debugging
for log4Net is the way to go as suggested by @Pratik. To write the details into a file do the following:
Add the following in web.config
even if you are using a different config file for log4net.
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add
name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:\toolbox\SmartClient\log4net.txt" />
</listeners>
</trace>
</system.diagnostics>
Reference
you can also set the following appsettings to enable internal log4net debugging information
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
The internal debug messages are written to the console (if you have one) or the trace (such as the debug window in visual studio or dbgview from sysintenals). This will help you to troubleshoot log4net issues.
Have you added added the following section under under Configuration->Configsections
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
Although it is possible to add your log4net configuration settings to your project’s app.config or web.config file, it is preferable to place them in a separate configuration file. Aside from the obvious benefit of maintainability, it has the added benefit that log4net can place a FileSystemWatcher
object on your config file to monitor when it changes and update its settings dynamically.
To use a separate config file, add a file named Log4Net.config
to your project and add the following attribute to your AssemblyInfo.cs
file:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
Note: for web applications, this assumes Log4Net.config resides in the web root. Ensure the log4net.config file is marked as “Copy To Output” -> “Copy Always” in Properties.
From here.