4

すべての設定が完了し、/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 Webサイトによる...)

4

2 に答える 2

4

構成は順調に進んでいるようです。私の最善の推測は、IIS Web アプリケーションのユーザーが App_Data への書き込み権限を持っていないことです。アクセス許可をロックダウンした場合、アプリケーション ユーザーには読み取りアクセス許可が与えられますが、書き込みアクセス許可は与えられません。

アクセス許可を開くか、Web パスの外にある別のディレクトリにログインし (IMO の方が少し安全です)、ユーザーの読み取り/書き込みアクセス許可がそこに設定されていることを確認します。

于 2010-01-06T20:44:29.593 に答える
4

ソリューションのレシピ

nuget からインストールしelmahelmah on XML logにアクセスできましたが、期待される機能が得られませんでしたhttp://localhost/elmah.axdが、エラーのキャプチャはありませんでした。

APP_DATA フォルダーの IIS_IUSERS アカウントに書き込み権限を与えたところ、HTTP 404 エラーと MVC インフラストラクチャの外部にあるエラーに対して機能し始めました。しかし、mvc 内で例外をログに記録しませんでした。解決策は、 nuget からelmah.mvcパッケージをインストールすることで、すべての例外のキャプチャを開始しました。

構成に問題がない場合は、nuget からパッケージをインストールするelmah.mvcだけで、HTTP 404 だけでなく、mvc 内にもログの保存が開始されます。

于 2013-01-03T15:13:26.307 に答える