勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

Codeigniter4でエラーログ設定、出力及び確認方法

  PHP CodeIgniter

Codeigniter4.4.4でエラーログの設定を行い特定のファイルに出力させ当該ログを確認したい。以下に各対応方法のメモ。

 

リファレンス

https://ci-trans-jp.gitlab.io/user_guide_4_jp/general/logging.html

 

パーミッション設定

「/writable/debugbar」ディレクトリのパーミッションを777に変更。というか「/writable/」ディレクトリ及び直下のディレクトリを全て777でいいかも。

 

任意にエラーログを出力

以下で出力可能。

log_message('error', 'ここにエラーメッセージ');

第一引数部分は以下8つが用意されている。

  • debug
  • info
  • notice
  • warning
  • error
  • critical
  • alert
  • emergency

 

ログファイルの出力場所

「/writable/debugbar/」ディレクトリ内に日別で出力される。尚、上記の任意でログを出力させていなくとも、下記のログ設定で引っかかった場合は自動で出力される。

 

ログ設定

.envファイルの「logger.threshold」で設定できる。0~9まで設定できるようで以下が各値の説明(Google翻訳)。

0 = ログを無効にし、エラーログはオフになります
1 = 緊急メッセージ - システムが使用不可です
2 = 警告メッセージ - 直ちに対処する必要があります
3 = 重大なメッセージ - アプリケーション コンポーネントが利用できません。予期しない例外です。
4 = 実行時エラー - 直ちに対処する必要はありませんが、監視する必要があります。
5 = 警告 - エラーではない例外的な発生。
6 = 通知 - 通常ではあるが重要なイベント。
7 = 情報 - ユーザーのログインなどの興味深いイベント。
8 = デバッグ - 詳細なデバッグ情報。
9 = すべてのメッセージ

.envファイルで未設定もしくはコメントアウトしている場合、本番環境だと「4」でそれ以外の環境だと「9」が割り当てられるっぽい(/app/Config/Logger.php参照)。

 - PHP CodeIgniter

  関連記事

CodeIgniter3でファイルキャッシュする方法

CodeIgniterでファイルキャッシュが楽に導入できた。そこそこ使いそうなの ...

CodeIgniter4でCronを実行する方法

CodeIgniter4.4.4で特定の処理をCronで自動実行させたい。以下に ...

Codeigniter4でMySQLに接続しCRUD操作する方法

Codeigniter4.4.4でMySQLに接続しCRUD操作したい。また、任 ...

Codeigniter3で異なるデータベースを使用する

Codeigniterで2つのコンテンツがあって、それぞれ別のデータベースを使用 ...

CodeIgniter4 & jQueryを用いて同一サイト内でajax通信する方法

CodeIgniter4.4.4 & jQueryを用いて同一サイト内で ...