エラーログを出力しよう(6-23)
ログって何?
ログは、障害などが起きた時に何が起きたかを把握できるように、プログラムの実行状況・データ送受信状況などを記録しておくもの
行動履歴が分かる
↓
サイトの不具合や不審なアクセスを見つけられる
ログには主にアクセスログとエラーログがある(他のログも自分で設定できる)
PHPはエラーログ、Apacheはアクセスログとエラーログを主に出力
・ブラウザがサーバ(Apache)にリクエストし、それにApacheが答えるごとに記録される(アクセスのたびに記録)
・アクセスの履歴を確認するために使う
エラーログ
・リクエストの結果がエラーになったものだけが記録される
・サーバに問題が起きたら検知するために使う
エラーログを出力しよう
エラーログを記録するにはerror_log()を使う
error_log
・エラーメッセージをWebサーバーのエラーログに送信する
$message:エラーログに記録されるメッセージ
error_log($message)
・データベースに接続できませんと記録するなら
error_log("データベースに接続できません");
ログを確認しよう
Dockerコンテナ内のログを確認するにはdocker logsコマンドを使う
事前準備:コンテナ名を確認
docker ps
ログを確認したいとき(-f:follow。ログの出力を表示し続ける)
docker logs-f<コンテナ名>
アクセスログを確認したいとき(エラーログを捨てる)
docker logs<コンテナ名> -f 2>/dev/null
エラーログを確認したいとき(アクセスログを捨てる)
docker logs<コンテナ名> -f 1>/dev/null
docker-compose logsでも確認できるが、アクセスログとエラーログを切り分けられない