Very simple file appender logging not working

contactmatt picture contactmatt · May 17, 2010 · Viewed 16.3k times · Source

Here's my web.config information:

  <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
      </configSections>
      <log4net>
        <root>
                <level value="ALL" />
        </root>
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
              <file value="c:\temp\log-file.txt" />
              <appendToFile value="true" />
              <rollingStyle value="Size" />
              <maxSizeRollBackups value="10" />
              <maximumFileSize value="1MB" />
              <staticLogFileName value="true" />
              <layout type="log4net.Layout.SimpleLayout" />
        </appender>
      </log4net>
...

Here's the code that initializes the logger:

protected void SendMessage()
    {
        log4net.Config.XmlConfigurator.Configure(); 
        ILog log = LogManager.GetLogger(typeof(Contact));
        ...
        log.Info("here we go!");
        log.Debug("debug afasf");
        ...
     }

It doesn't work, no matter what I seem to do. I am referencing the 'log4net.dll' correctly, and by debugging the application I can see that the log object is getting initiated properly. This is an asp.net 3.5 framework web project. Any ideas/suggestions?

I thought originally this error may be due to a file write permission constraint, but that doesn't seem to be the case (or so I think).

Answer

contactmatt picture contactmatt · May 20, 2010

I found the answer: I needed the requirePermission="false" tag in my web.config's configuration seciton.

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" **requirePermission="false"**/>
</configSections>