2011-06-21 180 views

答えて

48

を使用しています。これらには、Drupal固有のエラーと、投げられた一般的なPHPやMySQLのエラーが含まれます。

watchdog()関数を使用して、独自のカスタムモジュールからこのログにエントリを追加します。

Drupalブートストラップでは、PHP関数set_error_handler()を使用して、PHPエラーに対する独自のエラーハンドラを設定します。したがって、Drupal内でPHPエラーが発生すると、watchdog()コール(admin/reports/dblog)で記録されます。たとえば、PHPの致命的なエラー(例えば、/var/log/apache/error.log)を検索して表示されない場合は、これが原因です。その他のエラー。 Apacheエラーは、まだ/var/logにログインする必要があります。

+0

なぜerror_log($ message + $ vars + $ etc)を使用しないのですか? – AlxVallejo

+2

できます。ウォッチドッグテーブルには、モジュールやライブラリなどのメッセージだけでなく、ストアしたいデータのシリアル化された配列(エラーに関連する情報、メッセージ文字列の外にある)、場所、リファラー、現在ログインしているユーザなどが含まれているので、 'watchdog( 'my_module'、" Something broke。 "、$ array_of_data)'をデバッグするのに非常に便利です。 –

0

をdrushがインストールされていることを確認してください(dblogモジュールが有効になっていることを確認する必要があります)。

drush watchdog-show --tail 

これにより、コンソールからのログをライブで見ることができます。

関連する問題