Очень простая регистрация файловых приложений не работает - PullRequest
13 голосов
/ 17 мая 2010

Вот моя информация о web.config:

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

Вот код, который инициализирует регистратор:

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

Это не работает, что бы я ни делал. Я правильно ссылаюсь на файл 'log4net.dll', и после отладки приложения я вижу, что объект журнала запускается правильно. Это веб-проект на основе asp.net 3.5. Есть идеи / предложения?

Первоначально я думал, что эта ошибка может быть связана с ограничением прав на запись в файл, но, похоже, это не так (или я так думаю).

Ответы [ 4 ]

13 голосов
/ 21 мая 2010

Я нашел ответ: мне понадобился тег requirePermission = "false" в разделе конфигурации моего web.config.

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" **requirePermission="false"**/>
</configSections>
6 голосов
/ 17 мая 2010

Насколько я вижу, у вас нет приложения для root:

<root>
  <level value="ALL" />
  <appender-ref ref="RollingFileAppender" />
</root>
1 голос
/ 05 августа 2013

Мне пришлось вызвать fileAppender.ActivateOptions (), чтобы получить его логирование

0 голосов
/ 19 мая 2010

Можно ли запустить Debug View на веб-сервере?

Если это так, вы можете увидеть, сообщает ли log4net о каких-либо ошибках (таких как ошибка доступа или ошибка чтения файла конфигурации)

...