Log4Net doesn't log or error

asp.net, c#, log4net

Solution

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.

Problem

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 following config: ``` <log4net> <appender name="ADONetAppender" type="log4net.Appender.ADONetAppender"> <bufferSize value="1" /> <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <connectionString value="server=" /> <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception],[Context]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception, @context)" /> <parameter> <parameterName value="@log_date" /> <dbType value="DateTime" /> <layout type="log4net.Layout.RawTimeStampLayout" /> </parameter> <parameter> <parameterName value="@thread" /> <dbType value="String" /> <size value="32" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%t" /> </layout> </parameter> <parameter> <parameterName value="@log_level" /> <dbType value="String" /> <size value="512" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%p" /> </layout> </parameter> <parameter> <parameterName value="@context" /> <dbType value="String" /> <size value="512" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%x" /> </layout> </parameter> <parameter> <parameterName value="@logger" /> <dbType value="String" /> <size value="512" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%c" /> </layout> </parameter> <parameter> <parameterName value="@message" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%m" /> </layout> </parameter> <parameter> <parameterName value="@exception" /> <dbType value="String" /> <size value="2000" /> <layout type="log4net.Layout.ExceptionLayout" /> </parameter> </appender> <root> <level value="DEBUG" /> <appender-ref ref="ADONetAppender" /> </root> ``` In my global.asax Application_Start I call ``` log4net.Config.XmlConfigurator.Configure(); ``` Then to attempt to log: ``` protected static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); protected void Page_Load(object sender, EventArgs e) { log.Info("did I log yet?"); } ``` All of this does nothing as far as I can tell.

Original source

Related problems