2016-04-07 15 views
0

私はweb.configでこれを持っている:"customErrors mode =" On ""のときに、どのように例外を表示/使用/ログに記録できますか?

<customErrors mode="On" defaultRedirect="~\Error" > 
</customErrors> 

とシンプルなのErrorController:

public class ErrorController : Controller 
{ 
    public ViewResult Index() 
    { 
    return View("Error"); 
    } 
} 

私が何をしたいのかはErrorビューを返す前に、いくつかのファイルにエラーを記録することです。しかし、私はコントローラ内でスローされた例外にアクセスする方法の例を見つけることができないようです。どんな助けもありがたい。

答えて

1

私はこれに外部ライブラリのようなものを使用することをお勧めします。たとえば、Elmahです。 Elmahはすべての例外を傍受してログに記録しますので、あなた自身で例外を登録する必要はありません(非常に特定のものをログに記録したくない場合)。エルマは、ファイル、メモリ、データベースなどに保存するように設定できます。

ナゲットパッケージをダウンロードしてください。あなたの代わりにあなたのログファイルに直接見ているのエラーログを確認するためにダッシュボードを使用する場合は、あなたがyourdomain/elmah.axd

ドン」の上に到達する必要があり

<elmah> 
    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~\App_Data\" /> 
</elmah> 

:ファイルの代わりに、in memoryを使用するようにELMAHを設定するには プロダクションにデプロイする前に、ダッシュボードの認証をアクティブにすることを忘れないでください。

+0

これは "customErrors mode =" On ""で動作しますか? –

+0

これは 'on'と' off'の両方で動作します。通常、例外/エラーを常にログに記録します。したがって、エラーのロギングは実際にユーザーにエラーを表示する方法とは分けられます。 – Hypnobrew

関連する問題