ELMAH を使用して次のことを行うことは可能ですか?
logger.Log(" something");
私は次のようなことをやっています:
try
{
// Code that might throw an exception
}
catch(Exception ex)
{
// I need to log error here...
}
この例外は処理されたため、ELMAH によって自動的にログに記録されません。
ベストアンサー1
ELMAH 1.0 以降で機能する直接ログ書き込み方法:
try
{
some code
}
catch(Exception ex)
{
Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(ex));
}
ELMAH 1.2 では、より柔軟な API が導入されています。
try
{
some code
}
catch(Exception ex)
{
Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
}
2 つのソリューションには違いがあります。
Raise
メソッドは、例外に ELMAH フィルタリング ルールを適用します。Log
メソッドは適用しません。Raise
サブスクリプションベースであり、1 つの例外を複数のロガーに記録できます。