カスタムでerror_log()
を使用しようとしていますWordPressプラグインを構築していますが、何らかの理由で使用できません。
error_log()
を使用すると、サイトが壊れますが、_debug.log
_にエラーが表示されません。
次のように_wp_config.php
_ファイルにデバッグを設定しました。
_define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
_
不思議なことに、テーマでerror_log()
を使用すると、サイトは壊れませんが、_debug.log
_にも何も出力されません。
WordPressプラグインとテーマでerror_log()
を使用できるようにするには、何をする必要がありますか?
私はWordPress 3.9.1を使用しています。
Codex によると、デフォルトでは_WP_DEBUG_DISPLAY
_をtrueに設定する必要がありますが、そうではないようです。
define('WP_DEBUG_DISPLAY', true);
を_wp_config.php
_に追加すると、エラーログが修正されました。
_WP_DEBUG_DISPLAY
_をfalse
に設定すると、ブラウザからエラーが削除されましたが、ログに出力できるようになりました。
true
またはfalse
に設定したかどうかにかかわらず、ログにエラーを出力するには、Wordpressにはdefine('WP_DEBUG_DISPLAY');
が必要であるように思われます。
次のコードをwp-config.php
に追加するだけで、デバッグを有効にできます。
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
debug.log
フォルダにwp-content
ファイルが生成されます。
エラーをフロントエンドに出力せずにログに記録するには、次の行を追加します。
define( 'WP_DEBUG_DISPLAY', false );
これは、ページの訪問者がログを見ることができないため、本番環境で非常に役立ちます。
これで、error_log
関数を使用してログに書き込むことができます。
error_log( 'Hello World!' );
または、print_r
メソッドを使用して出力をきれいに印刷します。
error_log( print_r( 'Hello World!', true ) );
プロのヒント:bashを使用している場合は、
tail -f wp-content/debug.log
でログを確認できます
私も同じ問題を抱えてる。私にとって、この行をコメントアウトすることは助けになりました。
define( 'WP_DEBUG_LOG', true );