Я использую инструмент веб-развертывания для создания и выпуска сайта MVC из VS 2010 на сервер с IIS. У меня также есть log4net, регистрирующийся в подкаталоге корневого каталога веб-приложения, на которое я развертываю. Я уже выяснил, как сохранить права на запись без изменений при развертывании с помощью этого инструмента в этом каталоге, но теперь я столкнулся с проблемой, заключающейся в том, что я не буду терять журналы при развертывании, а также при развертывании происходит сбой, поскольку журнал файл, используемый log4net, «используется другим процессом» (предположительно w3wp) и не позволяет продолжить развертывание.
Итак, я хотел бы сохранить файлы журналов, а не удалять или перезаписывать их для целей аудита. Есть ли способ сделать это в рамках инструмента веб-развертывания?
РЕДАКТИРОВАТЬ : Вот соответствующие биты конфигурации log4net, в Web.Config.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net" />
</configSections>
<log4net>
<appender name="RollingLog" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Logs\Log.txt" />
<param name="AppendToFile" value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="20" />
<maximumFileSize value="10MB" />
<datePattern value="yyyyMMdd" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="{%level}%date{MM/dd HH:mm:ss} - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingLog" />
</root>
</log4net>
</configuration>