前提条件
- log4net 導入済み。↓参考
ASP.NET MVC5 では、開発中に例外が発生しますとビューに自動的に例外情報を表示してくださいます。
本番の時も、自動的に知らせて欲しいですの!ですけれども、画面に表示するわけにはまいりません。ログに出力したいですの♪
今回、例外が発生したら自動的にログに書き込む方法を残します。
例外発生を自動的にロギングするコード
- Global.asax ファイル を利用する。
- Application_Error メソッド宣言には override 不要。
- エラーは、Application_Error メソッドの引数ではなく、Server.GetLastError() で取得する。
Global.asax
protected void Application_Error(object sender, EventArgs e) { var exception = Server.GetLastError(); if (exception == null) { return; } logger.Error(exception.Message, exception); }