如何在WordPress中放置日志


19

有什么办法可以像在Magento中一样在wordpress中记录任何内容。

我正在集成一个自定义插件,其中我在挂钩的帮助下添加了一些功能,因此我需要对其进行调试。在这种情况下,我需要是否可以在wordpress日志中输入任何文本或数据。

如果是这样,请让我知道将日志生成到wordpress的过程。

Answers:


29

您可以启用WordPress日志记录,并将其添加到wp-config.php

 // Enable WP_DEBUG mode
define( 'WP_DEBUG', true );

// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );

您可以使用error_log()函数写入日志文件,这是一个非常有用的函数包装器,可在您的插件中使用:

if (!function_exists('write_log')) {

    function write_log($log) {
        if (true === WP_DEBUG) {
            if (is_array($log) || is_object($log)) {
                error_log(print_r($log, true));
            } else {
                error_log($log);
            }
        }
    }

}

write_log('THIS IS THE START OF MY CUSTOM DEBUG');
//i can log data like objects
write_log($whatever_you_want_to_log);

如果找不到该debug.log文件,请尝试为其生成某些内容,因为如果没有该文件将不会创建该文件,errors在某些托管服务器中,您可能需要使用php info检查错误日志的位置。


为了方便使用write_log函数,我将其创建为插件github.com/manchumahara/cbxwpwritelog( 如果有帮助)。我每天都将其用于开发目的。
Manchumahara

4

WordPress可以做日志!在此处查看WordPress调试页面https://codex.wordpress.org/Debugging_in_WordPress

我通常希望将本地开发网站设置为在调试文件中记录错误,而不是在屏幕上输出错误。

转到您的wp_config文件,然后滚动到定义WP_DEBUG的底部。

这是我的典型设置:

define('WP_DEBUG', true); // To enable debugging. Leave things just like this to output errors, warnings, notices to the screen:
define( 'WP_DEBUG_LOG', true ); // To turn on logging
define( 'WP_DEBUG_DISPLAY', false ); // To prevent output of errors, warnings, notices to the screen (which I personally find SUPER annoying):

通过这些设置,WordPress现在将错误,警告和通知记录到debug.log位于以下位置的文件中/wp-content/debug.log

生产环境中的日志文件是安全威胁,因此如果您决定登录生产环境,则最好将.htaccess文件设置为拒绝访问日志文件(或类似地使用安全性插件来阻止它) 。这样,您仍然可以获取日志,但不必担心黑客也会获取所有这些信息。


我可以在其中添加任何自定义文本吗?例如,在循环中只是为了确认被称为的那个,我想输入1,2,3等数字。我该怎么做
Pratik bhatt

2
您可以。检查@david的答案以了解如何执行此操作:)这是一本有关great.themes.com/blog/tips-tricks/…
Ian
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.