Come inserire i log in WordPress

16 mar 2017, 08:22:00
Visualizzazioni: 129K
Voti: 64

Esiste un modo per registrare qualsiasi cosa in WordPress in modo simile ai log che possiamo creare in Magento?

Sto integrando un plugin personalizzato in cui ho aggiunto alcune funzioni con l'aiuto degli hook, quindi ho bisogno di fare debug. In questo caso, vorrei sapere se posso inserire del testo o dei dati nei log di WordPress.

Se è possibile, vi prego di farmi sapere la procedura per generare i log in WordPress.

0
Tutte le risposte alla domanda 2
1
106

Puoi abilitare il logging in WordPress aggiungendo questo al file wp-config.php:

 // Abilita la modalità WP_DEBUG
define( 'WP_DEBUG', true );

// Abilita il logging degli errori nel file /wp-content/debug.log
define( 'WP_DEBUG_LOG', true );

Puoi scrivere nel file di log utilizzando la funzione error_log() fornita da PHP.

Il seguente snippet di codice è un'utile funzione wrapper per essa, rendila disponibile nel tuo plugin:

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('QUESTO È L\'INIZIO DEL MIO DEBUG PERSONALIZZATO');
//posso loggare dati come oggetti
write_log($qualunque_cosa_tu_voglia_loggare);

Se non riesci a trovare il file debug.log, prova a generare qualcosa per esso, poiché non verrà creato se non ci sono errori, inoltre in alcuni server ospitati potresti dover controllare dove si trova il log degli errori utilizzando php info.

16 mar 2017 16:40:43
Commenti

Per un utilizzo semplificato della funzione write_log ho creato un plugin https://github.com/manchumahara/cbxwpwritelog nel caso possa essere utile. Lo utilizzo quotidianamente per scopi di sviluppo.

Manchumahara Manchumahara
17 dic 2018 08:03:14
2
12

WordPress può fare logging! Dai un'occhiata alla pagina di debug di WordPress qui https://codex.wordpress.org/Debugging_in_WordPress

Di solito preferisco configurare i miei siti di sviluppo locali per registrare gli errori in un file di debug, piuttosto che visualizzarli a schermo.

Vai nel tuo file wp_config e scorri fino in fondo dove viene definito WP_DEBUG.

Ecco come appare la mia configurazione tipica:

define('WP_DEBUG', true); // Per abilitare il debug. Lascia così per mostrare errori, warning e notice a schermo:
define( 'WP_DEBUG_LOG', true ); // Per attivare il logging
define( 'WP_DEBUG_DISPLAY', false ); // Per evitare che errori, warning e notice vengano mostrati a schermo (cosa che personalmente trovo MOLTO fastidiosa):

Con queste impostazioni, WordPress registrerà ora errori, warning e notice in un file debug.log situato in /wp-content/debug.log

I file di log negli ambienti di produzione rappresentano una minaccia per la sicurezza, quindi SE decidi di attivare il logging in un ambiente di produzione, sarebbe una buona idea configurare il tuo file .htaccess per negare l'accesso al file di log (o usare in modo simile un plugin di sicurezza per bloccarlo). In questo modo potrai comunque ottenere i tuoi log, senza doverti preoccupare che gli hacker possano accedere a tutte quelle informazioni.

16 mar 2017 09:28:46
Commenti

Posso aggiungere del testo personalizzato? Ad esempio in un ciclo per confermare quale viene chiamato. Vorrei inserire numeri come 1,2,3 ecc. Come posso farlo?

Pratik bhatt Pratik bhatt
16 mar 2017 09:55:35

Puoi farlo. Controlla la risposta di @david per vedere come fare :) Ecco un buon articolo sull'argomento https://www.elegantthemes.com/blog/tips-tricks/using-the-wordpress-debug-log

Ian Ian
17 mar 2017 08:10:06