Very simple file appender logging not working

纵饮孤独 提交于 2019-12-31 13:10:26

问题


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).


回答1:


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>



回答2:


As far as I can see you are missing an appender for root:

<root>
  <level value="ALL" />
  <appender-ref ref="RollingFileAppender" />
</root>



回答3:


I had to call fileAppender.ActivateOptions() to get it logging




回答4:


Is it possible to run Debug View on the webserver?

If so, you may be able to see if log4net is reporting any errors (such as an access error or a error reading the configuration file)



来源:https://stackoverflow.com/questions/2850380/very-simple-file-appender-logging-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!