ELMAH を使用してエラーを手動でログに記録する方法 質問する

ELMAH を使用してエラーを手動でログに記録する方法 質問する

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 つの例外を複数のロガーに記録できます。

おすすめ記事