PHPのerror_log関数を使ってログを出力する方法

プログラミングを行っているとログを出力し正常に動作しているか、どんなエラーが出ているかを検証する作業が出てきます。

このときログを出力すると簡単に検証できます。

そのログ出力には error_log() という関数でできます。

今回はその方法について説明します。

目次

PHPのerror_log関数を使ってログを出力する方法

PHPでログを出力する場合は error_log() という関数を用います。

第一引数には、ログに出力する情報を文字列で指定します。

第二引数は、3 をセットします。3は任意のファイルに出力するという意味です。

第三引数は、出力するログファイルのパスを指定します。

[aside type=”normal”]error_log(出力する文字列, 3, 出力先ファイル名);[/aside]

 

実際には時間も出力したほうがいつのログかすぐ分かります。

以下のような関数を定義すれば便利です。

ファイル名は mylog.php とでもしておきましょう。

function write($text) {
  $date = date('Ymd', time());
  $time = date('Y-m-d H:i:s', time());
  error_log("$time {$text}\r\n", 3, "/パス/log_{$date}.log");
}

第一引数の \r\n は改行です。

第三引数の出力先ファイル名に {$date} と入れることで、ログファイル名に日付を入れることが出来ます。

 

出力先のファイルは事前に作っておく必要はありません。

無ければ自動的に指定したファイル名でファイルを作成しログの出力を行います。

ログ出力を埋め込む

上で作成した mylog.php を使ってログを出力する方法です。

まず、mylog.php を読み込む必要があります。

require_once ('/パス/mylog.php');

パスの部分はお使いの環境に合わせて直してください。

 

あとは、関数を呼び出して実行するだけです。

write("メール送信完了");

これで実行すれば以下のようなログが出力されます。

2018-12-22 23:12:37 メール送信完了

 

出力内容を、

write("PHPファイル名 ログ主力を行う関数名". $text);

のように出力時にPHPファイル名や関数名を入れておくと「どこ」を通ったかが分かりやすくなります。

 

他にも配列($ary)を出力したい場合は以下のように print_r を使うと便利です。

write("PHPファイル名 ログ主力を行う関数名". print_r($ary, true));

 

たくさんログを出力してスムーズに開発を行いましょう。

まとめ

PHPのログ出力には error_log() を使うと便利。

ログの出力内容には「時間」「PHPファイル名」「関数名」などを出力するとログを確認したときに見やすくなります。

配列の出力には print_r($ary, true) を使うと配列の内容が全てログに出力できます。

この記事を書いた人

ライターのプロフィールが入ります。このライター情報を入れたくない場合は管理画面の ユーザー > あなたのプロフィールの「プロフィール情報」を未入力にすれば表示されません。逆に「プロフィール情報」を入力することでライター情報を表示できます。

コメント

コメントする

CAPTCHA


目次
閉じる