カテゴリー
Microsoft

【ASP.NET MVC5】例外発生を補足して自動的にログ書き込みを行う方法

前提条件

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);
}
カテゴリー
Microsoft

【ASP.NET MVC5】log4net でログレベルごとにログを出力する設定!、動的なログファイル命名設定!、ログファイルのサイズ指定設定!

【ASP.NET MVC5】log4net の導入手順メモ♪ | oki2a24 で log4net を MVC5 プロジェクトに導入する方法を確かめました。

今回は、log4net の設定について、ログレベルごとに違うファイルにログを出力する方法、動的なログファイル命名、ログファイルのサイズ指定を残します。

ログレベルで出力ファイルを変える Config の中身

カテゴリー
Microsoft

【ASP.NET MVC5】log4net の導入手順メモ♪

ロギングのライブラリ、log4net を使う理由

ログのライブラリを使う理由は、次の2つです。

  • ファイルのロック、排他制御をしてくれる
  • 自動的にローテーションをしてくれる

log4netNLog の2種類がメジャーなようです。

  • log4net の方が歴史が長く、インターネット上の知見が多い。
  • log4net の方が「枯れた技術」となっていそう。
  • NLog の方が更新されている。
  • NLog の方がパフォーマンスが優れている、というページがある。

今回は、歴史とノウハウが大きいという理由で log4net を採用いたしました。

では早速導入手順を残してまいります。2種類のやり方を解説いたします。

どちらもASP.NET MVC5 プロジェクトを作成し、アクティブになっている状態からスタートです♪

【log4net を ASP.NET MVC5 プロジェクトに導入する方法1】Web.config にログ設定を書くやり方