web-dev-qa-db-ja.com

ログをwordpressに保存する方法

私たちがMagentoでそれをすることができるログと同様に私がwordpressで何かをログに記録することができる方法はありますか。

フックを使っていくつかの機能を追加したという点で、カスタムプラグインを統合しています。そのため、何かをデバッグする必要があります。これで私は私がwordpressのログにテキストかデータを入れることができれば必要である。

もしそうなら、wordpressにログインを生成するための手順を教えてください。

11
Pratik bhatt

これをwp-config.phpに追加して、WordPressのログ記録を有効にすることができます。

 // 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がないならば作成されないでしょう。

14
David Lee

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ファイルに記録するようになりました

本番環境でのログファイルはセキュリティ上の脅威となるため、 IF 本番環境でログインすることにした場合は、ログファイルへのアクセスを拒否するように.htaccessファイルを設定することをお勧めします。それをブロックするセキュリティプラグイン)このようにしてもログを取得できますが、ハッカーがそのような情報をすべて取得することを心配する必要はありません。

2
Ian