5

アプリケーションのエラーをログに記録するように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のチュートリアルの間では、何も問題はありません。足りないものはありますか?また、 Signalingを介してエラーを生成しようとしましたが、それも機能していません。

私はこれをDotNetNukeに対して実行しているので、現在問題があると考えています。

4

3 に答える 3

8

DotNetNuke でカスタム エラー メッセージを無効にする必要があると思います。
1. dnn ポータルにホストとしてログオンします
。 2. [ホスト] > [ホスト設定] に移動します。
2. 基本設定 - 外観セクションに移動します。
3. [カスタム エラー メッセージを使用する] で、チェック ボックスをオフにします。
4. [更新] をクリックします。
これにより、DotNetNuke のエラー ハンドラが無効になります。

于 2009-03-25T13:55:17.353 に答える
1

DNNはすべての例外を処理するので、おそらくそれがあなたが見ている問題です。アプリケーションレベルでErrorイベントを処理し、すべてをデータベースに記録すると思います。これをオフにする方法はわかりませんが、これほど一生懸命やったこともありません。

于 2009-03-20T21:14:32.393 に答える
1

DNN が例外を飲み込んでいる可能性があります。独自の例外処理メカニズムはありますか?

私はモノレールで ELMAH を使用していましたが、同様の問題に遭遇しました - Castle MonoRail & ELMAH

参考までに、同じ問題を抱えている他の誰か。

于 2009-03-20T20:07:46.690 に答える