Log4Net не пишет, когда я размещаю службу WCF - PullRequest
3 голосов
/ 09 сентября 2010

Log4Net не пишет, когда у меня есть служба WCF.он прекрасно работает, когда я использую собственный хостинг (Visual Studio Development Server), но когда я запускаю его с использованием IIS, он ничего не пишет.

Я прочитал об этой проблеме, и пришел вывод, что она должна бытьпроблема разрешения, но я не знаю, как ее решить.

как я могу проверить, что у меня есть разрешение на запись файла журнала?где я могу изменить разрешение?изменить пользователей AppPool?Можете ли вы дать мне несколько простых шагов, как проверить, есть ли у меня проблема с разрешениями?

Я администратор на моем компьютере.я пытаюсь создать файл в папке проекта.Файл представляет собой изменяемый файл приложения.

спасибо.

Ответы [ 5 ]

6 голосов
/ 10 сентября 2010

Для моих служб WCF, размещенных на IIS с конечными точками HTTP, регистрация в App_Data оказалась самым простым решением.

1 голос
/ 09 сентября 2010

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

Редактировать: Вот статья , которая поможет вам при необходимости определить, с кем работает ваш пул приложений.

0 голосов
/ 25 января 2012

Исходя из моего опыта, в IIS 7+ вы должны убедиться, что у пула приложений есть разрешение на запись в определенный каталог журналов. Например, enter image description here

0 голосов
/ 10 сентября 2010

Проблема была решена, когда я переместил путь журнала из жесткого диска «c: \ Log.txt» в папку «c: \ log \ Log.txt» на жестком диске.

0 голосов
/ 09 сентября 2010

Я столкнулся с аналогичной ситуацией, когда Enterprise Library не выполняла запись в файл с помощью блока приложения ведения журнала для приложения ASP.NET.Это был EntLib 4.1, возможное решение после попытки изменения ACL состояло в том, чтобы назначить пул приложений для запуска в качестве сетевой службы, и началась регистрация текста, не говоря, что это ваше решение или лучшее, но его стоит попробовать.

...