【前準備】

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デバッグ時の参考になれば幸いです。