asp.net mvc 4 アプリケーションのロギング フレームワークとして Elmah 1.2 を使用しています。
web.config ファイルで、customErrors モードをオンに設定しました。
<customErrors mode="On" defaultRedirect="/Error">
<error statusCode="404" redirect="/Error/NotFound" />
</customErrors>
カスタムのHandleErrorAttributeも作成し、このリンクからコードをコピーしました。
http://joel.net/logging-errors-with-elmah-in-asp.net-mvc-3--part-4--handleerrorattribute
私の Home コントローラーでは、ロギング フレームワークをテストするために例外をスローするだけです。
public ActionResult About()
{
throw new Exception("this is a buggggggggggggg");
ViewBag.Message = "Your app description page.";
return View();
}
「これはバグググググググググです」がデータベースに記録されています。次に、別のエラーもログに記録されますが、それが起こるとは思っていませんでした。
ビュー「エラー」またはそのマスターが見つからないか、検索された場所をサポートするビュー エンジンがありません。次の場所が検索されました: ~/Views/Home/Error.aspx ~/Views/Home/Error.ascx ~/Views/Shared/Error.aspx ~/Views/Shared/Error.ascx ~/Views/Home/Error. cshtml ~/Views/Home/Error.vbhtml ~/Views/Shared/Error.cshtml ~/Views/Shared/Error.vbhtml
アップデート:
ティムの提案に従うと、別の問題が発生します。
共有フォルダーに Error.cshtml を作成するとします。未処理の例外が発生すると、"/Error" ページではなく、この Error.cshtml ファイルが表示されます。customErrors を有効にしています。それらはすべて「/Error」ページにリダイレクトされます。