HandleErrorAttributeのカスタマイズ(ブロッキングの使用)
2924 ワード
mvcには、操作方法によって引き起こされる異常を処理するためのHandleErrorAttribute特性が提供される.
HandleErrorAttributeを継承し、OnExceptionを書き換えることができます.エラーをイベントログに書き込みます.
これに対して、log 4 net、Elmahなどの共通のエラーログコンポーネントを使用することができます.
HandleErrorAttributeを継承し、OnExceptionを書き換えることができます.エラーをイベントログに書き込みます.
public
class
HandleErrorWithELMAHAttribute:HandleErrorAttribute
{
public
override
void
OnException(ExceptionContext Context)
{
base
.OnException(Context);
dynamic e
=
Context.Exception;
if
(
!
Context.ExceptionHandled)
return
;
LogException(e);
}
private
static
void
LogException(Exception e)
{
HttpContext context
=
HttpContext.Current;
string
path
=
"
~/1.txt
"
;
path
=
context.Server.MapPath(path);
StreamWriter STRW
=
File.AppendText(path);
STRW.WriteLine(e.Message);
STRW.Flush();
STRW.Close();
STRW.Dispose();
}
}
これに対して、log 4 net、Elmahなどの共通のエラーログコンポーネントを使用することができます.