web-dev-qa-db-ja.com

エラー時にスタックトレースを生成する方法

私はDrupalサイトをデバッグしようとしているシステム管理者です。私のサーバーログでは、Drupalが最終的にメモリを使い果たし、Apacheが500エラーを返すまで、PHPがSolrインスタンスに同じリクエストを何度も繰り返しているのがわかります。

ディスクのどこかにスタックトレースを記録するようにDrupalを構成するにはどうすればよいですか?

19
Max

Devel モジュールを使用して、admin/config/development/develの構成ページで提供される「Krumo Backtrace」オプションの1つを選択できます。

Krumo Backtrace

必ずadmin/config/development/loggingにアクセスして、「エラーと警告」または「すべてのメッセージ」を選択してください。 Syslogモジュールまたはその他のロギングモジュールを有効にしている場合は、それを無効にしてDblogモジュールを有効にする必要があります。

backtrace config

16
amateur barista

あなたのdrupal system in modulesセクションの下にあるコアモジュールの下で、ディスクにログを保存するためのsyslogモジュールです。探しているものに役立つことを願っています。

1
samir mankar

Trace モジュールは、私の状況でははるかにうまく機能しました。

これは、Drupalフック呼び出し、データベースクエリ、およびPHPエラーのトレースを提供します。

バージョン1.0このモジュールによって提供されるいくつかの機能:

  • トレースメッセージをファイルまたはsyslog(UNIXプラットフォームの場合)に出力します。
  • トレースDrupalオプションのフィルターとスタックトレースを使用した呼び出しをフックします。
  • トレースPHP警告とエラー、オプションのフルスタックトレース。
  • クエリタイプによるオプションのフィルタリングでSQLデータベースクエリをトレースします。
  • トレース出力には、マイクロ秒レベルのタイミング情報が含まれています。
  • スタックトレースには、PHP構文で関数に渡された引数が含まれます。
  • オプションのデバッグ出力には、PHPスーパーグローバルとHTTPヘッダーが含まれます。
  • 他のモジュールがトレース出力ターゲットを拡張できるようにするフックを定義します。
0
deweydb

Drupal 7および8の場合、モジュール inspect はバックトレースに最適です。

ファイルまたはログに追加することができますDrupalデータベースに表示するのではなく、これは、Krumoバックトレース、ddebug_backtrace()、および直接作成する他のソリューションの場合に役立ちます-screen output fail。これは、レンダリング出力が開始される前に発生するエラーと例外の場合です。

インスペクションの管理バックエンド構成領域には、コードでの使用に関するニースのクイックリファレンスが含まれています。

0
tanius