Помощь с настройкой Elmah в ASP.NET

Я пытаюсь настроить ELMAH для регистрации ошибок в нашем приложении. Я успешно добавил модули, и у меня нет проблем с загрузкой страницы ErrorLog (elmah.axd). Однако Elmah не регистрирует никаких тестовых исключений, которые я генерирую.

Мой web.config выглядит так:

<configSections>
    <!-- Other stuff -->
    <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>

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

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

<httpModules>
    <!-- Other stuff -->
    <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/>
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
    <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
</httpModules>

При переходе на страницу исключения теста http://localhost/elmah.axd/test создается желтый экран, но без записи в журнале.

Я не вижу ничего плохого между предоставленным образцом и учебником по DotNetSlackers. Что-то мне не хватает? Я также пытался генерировать ошибки с помощью сигнализации, но это не работает либо.

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


person Gavin Miller    schedule 20.03.2009    source источник


Ответы (3)


Я думаю, что вам нужно отключить пользовательские сообщения об ошибках в DotNetNuke.
1. Войдите в портал dnn как хост
2. Перейдите к Хосту> Настройки хоста.
2. Перейдите в раздел Основные настройки - Внешний вид.
3. Снимите флажок в поле "Использовать настраиваемые сообщения об ошибках".
4. Нажмите «Обновить».
Это отключит обработчик ошибок DotNetNuke.

person notandy    schedule 25.03.2009

Может быть, DNN поглощает исключения - есть ли у него собственный механизм обработки исключений?

Я использовал ELMAH с монорельсом и столкнулся с аналогичной проблемой - Castle MonoRail и ELMAH

К вашему сведению, Кто-то еще с такой же проблемой.

person BigJump    schedule 20.03.2009
comment
Да, я тоже только что наткнулся на эту ссылку! - person Gavin Miller; 20.03.2009
comment
Я заметил, что в вашем вопросе вы использовали сигнализацию для решения своей проблемы - даже это не работает на моем компьютере. - person Gavin Miller; 20.03.2009
comment
Боюсь, я не слишком много знаю о DNN, но пробовали ли вы отключить модуль регистрации DNN? - person BigJump; 20.03.2009

DNN обрабатывает все исключения, так что, вероятно, вы столкнулись с проблемой. Я считаю, что он обрабатывает событие Error на уровне приложения, записывая все в базу данных. Я не знаю, как это выключить, но я тоже никогда особо не пробовал.

person bdukes    schedule 20.03.2009
comment
Ага, вот разобраться как выключить вот и беда. Документация DNN в лучшем случае оставляет желать лучшего! - person Gavin Miller; 21.03.2009