ELMAH.axd доступен для просмотра, но никогда не будет регистрировать мои ошибки? - PullRequest
4 голосов
/ 06 января 2010

У меня все настроено, и я могу перейти к /elmah.axd, но я вызывал все эти ошибки, и они не будут регистрировать ни одну из них, а просто говорит: «ошибок не зарегистрировано» ... какого черта я сделал не так?

Вот что я добавил в свой web.config:

<configSections>
  <sectionGroup name="elmah">     
        <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />     
        <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />     
        <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />     
  </sectionGroup>
</configSections>

<httpHandlers>
  <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>

<httpModules>
  <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />  
</httpModules>

<elmah>
  <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
  <security allowRemoteAccess="yes" />
</elmah>

ТАКЖЕ: это было уже в начале моего RegisterRoutes ()

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

Я читал, что с ASP.NET MVC 1.0 это больше не имеет значения, предположительно (для веб-сайта ELMAH ...)

Ответы [ 2 ]

4 голосов
/ 03 января 2013

Рецепт Раствора

Я установил из nuget elmah и elmah on XML log, не получил ожидаемую функциональность, хотя я мог получить доступ к http://localhost/elmah.axd, но без захвата ошибок.

Я дал разрешение на запись учетной записи IIS_IUSERS в папке APP_DATA, и она начала работать для ошибок HTTP 404 и ошибок, которые находятся за пределами инфраструктуры MVC. Но это не регистрировало исключения внутри MVC. Решением была установка пакета elmah.mvc из nuget, и он начал захватывать все исключения.

Если ваша конфигурация в порядке, просто установите пакет elmah.mvc из nuget, и он должен начать хранить журналы также внутри mvc, а не только по HTTP 404.

4 голосов
/ 06 января 2010

Конфиг, кажется, в порядке; я думаю, что у вашего пользователя веб-приложения IIS нет прав на запись в App_Data. Если вы заблокировали разрешения, у пользователя приложения будут права на чтение, но не на запись.

Вы можете открыть разрешения или войти в другой каталог за пределами веб-пути (что немного безопаснее IMO) и убедиться, что для пользователя установлены разрешения на чтение / запись.

...