如何在Wordpress中使用error_log()?

时间:2014-06-20 14:49:26

标签: php wordpress debugging error-logging

我正在尝试在我正在构建的自定义Wordpress插件中使用error_log(),但出于某种原因,我不能。

当我使用error_log()时,我的网站会中断,但我在debug.log中没有看到任何错误。

我已在我的wp_config.php文件中设置调试,如下所示:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

Stranegly,如果我在我的主题中使用error_log(),该网站不会中断,但也不会向debug.log输出任何内容。

在Wordpress插件和主题中使用error_log()需要做些什么?

我正在使用Wordpress 3.9.1。

3 个答案:

答案 0 :(得分:7)

根据the CodexWP_DEBUG_DISPLAY默认情况下应设置为true,但似乎并非如此。

define('WP_DEBUG_DISPLAY', true);添加到wp_config.php修复了错误记录。

WP_DEBUG_DISPLAY设置为false会从浏览器中删除错误,但允许它们在日志中输出。

似乎Wordpress要求define('WP_DEBUG_DISPLAY');向日志输出错误,无论您将其设置为true还是false

答案 1 :(得分:2)

我有同样的问题。对我来说,评论这条线有帮助。

define( 'WP_DEBUG_LOG', true );

答案 2 :(得分:1)

更新2019


启用调试

您只需在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

查看日志