【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);
}

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

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

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

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

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

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


スポンサードリンク

Windwos で ログファイルを tail -f する方法

ポイント

  • PowerShell 3 以上を使用する。
  • コマンド
    Get-Content -Tail 10 -Wait -Path "C:\Path\To\logFile.log"
    
  • Windows のパスは途中で半角スペースが入ることがあるため、ダブルクォーテーション「”」で囲んでおく。

PowerShell のバージョン確認方法とアップグレード方法

“Windwos で ログファイルを tail -f する方法”の続きを読む

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

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

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

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

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

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

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

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

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

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

“【ASP.NET MVC5】log4net の導入手順メモ♪”の続きを読む

【DenyHosts】sshd 再起動で接続拒否以上の遮断ができるか?できませんでした><

ポイント

  • sshd を再起動しても、「 Refused incoming connections」の接続をさらに拒否することはできなかった

はじめに

Logwacth からの配信メールを見てみますと、DenyHosts によって hosts.deny に登録された IP から sshd 接続をたくさん拒否したよ!というメッセージがございました。

 --------------------- SSHD Begin ------------------------



 Received disconnect:
    11: disconnected by user
       121.102.27.141 : 1 Time(s)

 Refused incoming connections:
       106.185.49.171 (106.185.49.171): 1107 Time(s)

 ---------------------- SSHD End -------------------------

拒否しているとはいえ、1107回も拒否しておりますの。

この「 Refused incoming connections」以上の拒否、ログにも残らなくなるような強力なことってできるかしら?

思いつくのは sshd の再起動のみでしたので、はっきりさせたいと思い、やってみましたの♪

“【DenyHosts】sshd 再起動で接続拒否以上の遮断ができるか?できませんでした><”の続きを読む

php.ini で設定しても出力されないエラーログをちゃんと出すポイント!

スクリーンショット 2013-02-11 13.02.29.png

先日、php.ini の設定を行いました。そのときにエラーログの出力先を設定いたしました。

しかしながら、おかしいです。ヘンです。エラーログが書き込まれないどころか、ファイルすら作成されません。これを解決いたしましたのでメモします♪

ポイント

# PHP エラーログが出力されない場合は作って、ログファイルの所有者・グループを設定
touch /var/log/php_errors.log
chown apache:apache /var/log/php_errors.log

なお、操作はすべて ssh でのコマンド操作となります。

具体的な設定手順と確認方法♪

“php.ini で設定しても出力されないエラーログをちゃんと出すポイント!”の続きを読む

PHP のログで便利な定数をちょっと試しました♪

デバッグでログをとるときは、ログを出力した場所であるソースコードのファイル名、関数名、行数がわかると便利です。何かいい手はないかと探していたら、ありました♪メモしておきます!

ポイント

  • __METHOD__ → クラス名::関数名
  • __LINE__ → ファイル上の現在の行番号

使ってみた

“PHP のログで便利な定数をちょっと試しました♪”の続きを読む