エラー追跡サービス Raygun を Orchard に追加しようとしていますが、アプリケーションによってスローされた例外をインターセプトする方法がわかりません。
デフォルトの ASP.NET MVC では、通常は で行われますApplication_Error()
がGlobal.asax.cs
、Orchard CMS で同様に行う方法はありますか?
私が見つけた唯一の方法は、明示的にコードを custom に入れることですErrorPage.cshtml
。
エラー追跡サービス Raygun を Orchard に追加しようとしていますが、アプリケーションによってスローされた例外をインターセプトする方法がわかりません。
デフォルトの ASP.NET MVC では、通常は で行われますApplication_Error()
がGlobal.asax.cs
、Orchard CMS で同様に行う方法はありますか?
私が見つけた唯一の方法は、明示的にコードを custom に入れることですErrorPage.cshtml
。
推奨される方法は、Orchard.Exceptions.IExceptionPolicy
インターフェイスのカスタム実装を提供することです。DefaultExceptionPolicy
シナリオでは、既定の実装をフォールバックとして使用できます。
たとえば、カスタム Orchard モジュールに次のクラスを実装できます。
[OrchardSuppressDependency("Orchard.Exceptions.DefaultExceptionPolicy")]
public class IssueTrackerExceptionPolicy : DefaultExceptionPolicy, IExceptionPolicy
{
bool IExceptionPolicy.HandleException(object sender, Exception exception)
{
// TODO: Log exception here.
return base.HandleException(sender, exception);
}
}