【前準備】
Drupalでログを確認する為には、「Database Logging」というモジュールを有効にして下さい。
Drupal管理メニュー⇒環境設定のモジュール一覧の中のコア(Database Logging)にチェックを入れて一番最下部にあるインストールボタンを押してモジュールを有効化して下さい。
Database Loggingモジュールの有効化(インストール)が完了した後はモジュールの初期設定を行います。
Drupal管理メニュー⇒環境設定のモジュール一覧を再度開き、Database Loggingの構成をクリックして下さい。
設定画面が表示されるので必要な設定を行って下さい。
表示するエラーメッセージのレベルや最大保存数も指定出来ます。
エラーレベルに関しては、開発環境では「全てのメッセージ」にしておくとシステムエラーメッセージのログやワーニングも保存されるので調査等には有効です。
本番環境では基本的に「なし」にすることをお勧めします。
【システムエラー(致命的エラー)以外のログ確認方法】
システムエラー以外のログの確認に関しては、以下で確認出来ます。
Drupal管理メニュー⇒レポート⇒最近のログメッセージ
【システムエラー(致命的エラー)のログ確認方法】
Drupalでシステムエラーが発生した場合は、デフォルトでは真っ白な画面にシステムエラーのメッセージが表示されるだけで具体的にどこでエラーが発生しているのかが分かりません。
システムエラーが発生した場合は、Drupal管理にアクセスしても同じ様にエラーメッセージが表示されるのでDatabase Logの確認も出来ない状態です。
システムエラーの問題解決にはエラー内容が分からないと解決までに時間が掛かってしまいます。
直前に修正したソースやインストールしたモジュール等の心当たりがある場合は、元に戻す事により、解決出来るケースもありますが、複数人で開発を行っている場合は、自分以外の人が修正した影響でシステムエラーが発生した可能性もあるのでエラー内容の詳細を知ることが重要です。
以下の手順でシステムエラー発生時でもエラー内容の詳細を表示させることが可能です。
docroot/sites/default/setting.phpに以下を追加
$config['system.logging']['error_level'] = 'verbose';
上記の1行を追加してシステムエラー画面をリロードすれば詳細なエラー内容が表示されます。(本番環境には追加しない事をお勧めします。)
今回はエラー発生時の調査方法についての記事を書かせて頂きました。
この記事がDrupalデバッグ時の参考になれば幸いです。