Где log4net записывает файлы журнала при отладке веб-приложения через Visual Studio? - PullRequest
1 голос
/ 16 марта 2011

Я пытаюсь добавить log4net logging в веб-приложение, которое я пишу.У меня есть это в методе веб-службы:

log4net.Config.XmlConfigurator.Configure();  
log4net.ILog log = log4net.LogManager.GetLogger(typeof(Methods));

log.Info("Some information");

И это в файле web.config:

<configSections>
  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<system.web>
    <compilation debug="true" targetFramework="4.0" />
    <authentication mode="Windows" />
    <identity impersonate="true"/>
</system.web>
<log4net>
    <appender name="LogFileAppender" type="log4net.Appender.RollFileAppender">
        <file value="log.txt" />
        <appendToFile value="true" />
        <rollingStyle value="Size" />
        <maxSizeRollBackups value="10" />
        <maximumFileSize value="1MB" />
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.SimpleLayout" />
    </appender>

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

Я ожидал, что файл журнала появится в корзине \каталог, когда я отлаживаю его через Visual Studio 2010, но там ничего не написано.Метод успешно работает без каких-либо исключений, но я не могу найти файл журнала.Есть идеи, где это должно появиться?

Редактировать - дополнительная информация: По значку области уведомлений сервер разработки ASP.Net работает в:

C:\Users\jpope\Documents\Visual Studio 2010\Projects\WebApplication1\WebApplication1\

Разрешения для этого каталога и \ bin \ sub-Директория и SYSTEM, и я, и администраторы дают полный контроль, и никто другой не имеет доступа.Файл журнала не находится в указанном выше каталоге или в подкаталоге \ bin \.

Ответы [ 3 ]

1 голос
/ 16 марта 2011

Если вы хотите вникнуть в некоторые вещи низкого уровня, было бы интересно посмотреть, что Process Monitor думает, что процесс веб-сервера пытается записать.По крайней мере, это было бы веселее, чем просматривать документацию log4net.

0 голосов
/ 16 марта 2011

Это оказалось проблемой конфигурации. Переключение на FileAppender вместо RollFileAppender работает нормально. Теперь мне нужно выяснить, что не так с конфигурацией RollFileAppender ...

Редактировать: это RollingFileAppender, а не RollFileAppender.

0 голосов
/ 16 марта 2011

Возможно, вам следует установить, что пользователь asp.net имеет право на запись для вашего веб-каталога.

...