Wie man Protokolle in WordPress einfügt

15

Gibt es eine Möglichkeit, etwas in WordPress zu protokollieren, ähnlich den Protokollen, die wir in Magento erstellen können?

Ich baue ein benutzerdefiniertes Plugin ein, das ich mit Hilfe von Hooks um einige Funktionen erweitert habe. Ich muss also etwas darin debuggen. Hierfür benötige ich, wenn ich Text oder Daten in WordPress-Protokolle eingeben kann.

Wenn ja, lass es mich wissen, wie man sich bei WordPress anmeldet.

Pratik Bhatt
quelle

Antworten:

23

Sie können die WordPress-Protokollierung aktivieren, indem Sie Folgendes hinzufügen 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 );

Sie können mit der error_log()Funktion in die Protokolldatei schreiben. Dies ist ein sehr nützlicher Funktionswrapper. Stellen Sie ihn in Ihrem Plugin zur Verfügung:

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);

Wenn Sie die debug.logDatei nicht finden können , versuchen Sie, etwas für sie zu generieren, da sie nicht erstellt wird, wenn dies nicht der Fall ist. errorsBei einigen gehosteten Servern müssen Sie möglicherweise mithilfe von PHP-Informationen überprüfen, wo sich das Fehlerprotokoll befindet.

David Lee
quelle
Für die einfache Nutzung der write_log-Funktion habe ich sie als Plugin github.com/manchumahara/cbxwpwritelog erstellt, wenn das hilft. Ich benutze es jeden Tag für Entwicklungszwecke.
Manchumahara
3

WordPress kann loggen! Schauen Sie sich die WordPress-Debugging-Seite hier an: https://codex.wordpress.org/Debugging_in_WordPress

Normalerweise möchte ich meine lokalen Entwicklungswebsites so einrichten, dass Fehler in einer Debug-Datei protokolliert werden, anstatt sie auf dem Bildschirm auszugeben.

Gehen Sie zu Ihrer wp_config-Datei und scrollen Sie nach unten, wo sie WP_DEBUG definiert.

So sieht mein typisches Setup aus:

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):

Mit diesen Einstellungen protokolliert WordPress jetzt Fehler, Warnungen und Benachrichtigungen in einer debug.logDatei in/wp-content/debug.log

Log - Dateien in Produktionsumgebungen sind Sicherheitsbedrohungen so IF Sie haben die Protokollierung auf einer Produktionsumgebung entscheiden, wäre es eine gute Idee, Ihre .htaccess - Datei setzen Zugriff auf die Protokolldatei zu verweigern (oder in ähnlicher Weise eine Sicherheits - Plugin verwenden , um ihn zu blockieren) . Auf diese Weise erhalten Sie immer noch Ihre Protokolle, müssen sich aber nicht darum kümmern, dass Hacker all diese Informationen auch erhalten.

Ian
quelle
Kann ich einen benutzerdefinierten Text hinzufügen? Zum Beispiel in einer Schleife Nur um zu bestätigen, welche aufgerufen wird, möchte ich Zahlen wie 1,2,3 usw. eingeben. Wie kann ich das tun
Pratik Bhatt
2
Du kannst. Überprüfen Sie @ Davids Antwort, wie man das macht :) Hier ist ein guter Artikel zu diesem Thema
Ian