PHPのerror_logメソッドでログを出力する方法を現役エンジニアが解説【初心者向け】
初心者向けにPHPのerror_logメソッドでログを出力する方法について現役エンジニアが解説しています。ログ出力とは、プログラムの実行内容を特定のログファイルに書き出すことです。PHPでは、error_logという関数を使って、ログファイルを出力することができます。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
今回は、PHPのerror_logメソッドでログを出力する方法について解説します。
そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。
今回は、PHPに関する内容だね!
どういう内容でしょうか?
PHPのerror_logメソッドでログを出力する方法について詳しく説明していくね!
お願いします!
ログ出力とは
ログ出力とは、プログラムの実行内容を特定のファイル(ログファイル)に書き出すことです。
ログファイルに実行内容を書き出すことで、プログラムが正常に動作しているか、エラーの場合はどのようなエラーなのか、ということなどが判断できます。
これにより、開発を行う際に実装した処理が正常に動作しているか確認できたり、完成したプログラムに不具合が発生した場合にその不具合の原因を特定できたりします。
ログには、様々な種類があります。例えば、WEBサーバでは、接続してきたユーザの情報を記録するアクセスログや、接続や処理にエラーがあった際の情報を記録するエラーログがあります。
error_logメソッドの使い方
PHPでは、error_logという関数を使って、ログファイルを出力することができます。error_log関数は、下記のように記載します。
error_log ( メッセージ, メッセージタイプ, 出力先)
メッセージは、出力する文字列です。メッセージタイプは、0がシステムのデフォルトログ(標準出力など)、1がメール、3がファイルなど決まった値になります。出力先は、メッセージタイプが1の場合はメールの送付先アドレス、3の場合は出力先ファイルパス、などになります。
※その他のオプションについては解説を省略します。
また、実行後の戻り値は、ログの出力に成功すれば true 失敗すれば false が返ります。
[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは
実際に書いてみよう
それでは、実際にログを出力してみます。
<?php if (error_log("エラー:ログファイルテストn", 3, "./debug.log")) { echo "ログを出力しました。"; } else { echo "ログ出力に失敗しました。"; } ?>
こちらの内容では、”エラー:ログファイルテストn” という文字列を ./debug.log というファイルに出力しています。実行結果で、ログの出力が成功すれば、画面に下記のように表示されます。
ログを出力しました。
またこの時、実行ファイルと同じディレクトリに、debug.logというファイルが作成されます。ファイルの中身を確認すると下記のような内容になっています。
エラー:ログファイルテスト
複数回実行すると、上記の文言が実行した分追記されていきます。
筆者プロフィール
メンターYさん
フリーランスエンジニアとして、PHPを中心としたWEB開発全般を行う。最近では、WordPressを使ったメディアの構築・運用を多くこなしている。 元々は大手通信会社のエンジニアで、セキュリティに関する仕事をするも、大企業が肌に合わず独立。一箇所に縛られての仕事を苦手とし、自宅とカフェとコワーキングスペースを行ったり来たりしている。 ただ、自宅にいるとどうしてもゲームをしてしまうため、コワーキングスペースの比率が大きい。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもPHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプPHP/Laravel講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。