テストDBでELMAH sqlスクリプトを実行し(ELmah_Errorテーブルと3つのストアドプロシージャを作成しました)、Nugetを使用してMVCアプリケーションでELMAHを構成しました。
指定どおりに web.config を変更し、例外をログに記録できるようになりました
http://mysite/elmah.axd
しかし、代わりに、例外を Sql Server に記録したいと考えています。
それを達成するためにクラスの下に追加しました
public class ElmahHandleErrorAttribute : System.Web.Mvc.HandleErrorAttribute
{
public override void OnException(System.Web.Mvc.ExceptionContext context)
{
LogException(e);
}
private static void LogException(Exception e)
{
// Call to Database and insert the exception info
}
}
最後のステップは次のとおりです。
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new ElmahHandleErrorAttribute ());
}
ELMAH を使用してすべての例外をログに記録するのは正しい方法ですか、それとも何か不足していますか?