CakePHP 3 でログを監視しコードの品質を上げる

CakePHP3 にはデバッグモードがあり、.env や app.php の設定で 有効 / 無効 を切り替えることができます。

開発中は「有効」で、本番環境では「無効」にするのが一般的でしょう。
デバッグモードを無効化すると、エラーが画面上に表示されなくなります。

ところで、開発中にエラーをつぶしたつもりでも、残ってしまう場合もあります。
PHPのエラーで見落としがちなのが「NOTICE」エラーです。

変数や配列の要素を宣言前に使用すると出る、
Undefined variable: ●●
とか
Undefined index: ●●
などですね。

NOTICE って裏で発生しても、システムは止まらずに動いちゃうことが多いんですよね。

特に、コードが複雑で条件分岐が多く、特定の組み合わせだけで発生する状況では、見落としがちになります。

そこでオススメなのが、定期的に「logs/debug.log」や「logs/error.log」を確認することです。

NOTICE エラーは debug.log に記録されます。

error.log にはリンク切れ等が記録されることが多いです。特に使わなくなった CSS や Javascript を残したままにしてしまい、リンク切れに気づかないことが多いでしょうか。

プログラミングに不慣れな頃や、忙しいときなどは特に見逃しがちです。問題なく稼働していたとしても、定期的に debug.log と error.log を解析することでコードの品質を向上させることができます。

さらに理想をいえば、ログ確認は手動で行わず、それらを監視してメール通知する仕組みを構築したいですね。