だよねがエンジニアになるんだよね

プログラミング初心者の学びブログ

エラーログを出力しよう(6-23)

ログって何?

ログは、障害などが起きた時に何が起きたかを把握できるように、プログラムの実行状況・データ送受信状況などを記録しておくもの

アクセスログ

行動履歴が分かる

サイトの不具合や不審なアクセスを見つけられる

 

 

PHPApacheのログ

ログには主にアクセスログとエラーログがある(他のログも自分で設定できる)

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でも確認できるが、アクセスログとエラーログを切り分けられない

dockerのログはPHPApacheで分けられない