Comment mettre des journaux dans wordpress

18

Existe-t-il un moyen de connecter quoi que ce soit dans wordpress similaire aux journaux, nous pouvons le faire dans Magento.

J'intègre un plugin personnalisé dans lequel j'ai ajouté quelques fonctions avec l'aide de hooks, donc j'ai besoin de déboguer quelque chose dedans. En cela, j'ai besoin si je peux entrer du texte ou des données dans les journaux wordpress.

Si tel est le cas, veuillez me faire savoir la procédure de génération du journal dans wordpress.

Pratik bhatt
la source

Réponses:

28

Vous pouvez activer la journalisation WordPress en l'ajoutant à 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 );

vous pouvez écrire dans le fichier journal en utilisant la error_log()fonction, c'est un wrapper de fonction très utile pour cela, le rendre disponible dans votre 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('THIS IS THE START OF MY CUSTOM DEBUG');
//i can log data like objects
write_log($whatever_you_want_to_log);

si vous ne trouvez pas le debug.logfichier, essayez de générer quelque chose pour lui, car il ne sera pas créé s'il n'y en a pas errors, également sur certains serveurs hébergés, vous devrez peut-être vérifier où se trouve le journal des erreurs à l'aide de php info.

David Lee
la source
Pour une utilisation facile de la fonction write_log, je l'ai créée en tant que plugin github.com/manchumahara/cbxwpwritelog si cela aide. Je l'utilise tous les jours à des fins de développement.
Manchumahara
4

WordPress peut faire la journalisation! Consultez la page de débogage de WordPress ici https://codex.wordpress.org/Debugging_in_WordPress

J'aime généralement configurer mes sites Web de développement local pour consigner les erreurs dans un fichier de débogage, plutôt que de les afficher à l'écran.

Rendez-vous sur votre fichier wp_config et faites défiler vers le bas où il définit WP_DEBUG.

Voici à quoi ressemble ma configuration typique:

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

Avec ces paramètres, WordPress enregistrera désormais les erreurs, avertissements et notifications dans un debug.logfichier situé dans/wp-content/debug.log

Les fichiers journaux dans les environnements de production sont des menaces de sécurité, donc SI vous décidez de vous connecter à un environnement de production, ce serait une bonne idée de définir votre fichier .htaccess pour refuser l'accès au fichier journal (ou utiliser un plugin de sécurité pour le bloquer de la même manière) . De cette façon, vous obtenez toujours vos journaux, mais ne vous inquiétez pas non plus que les pirates informatiques obtiennent toutes ces informations.

Ian
la source
Puis-je y ajouter du texte personnalisé? Par exemple, dans une boucle Juste pour obtenir la confirmation de ce qui est appelé, je veux entrer des nombres comme 1,2,3 etc. Comment puis-je le faire
Pratik bhatt
2
Vous pouvez. Vérifiez @ David réponse pour savoir comment faire :) Voici un bon article sur ce elegantthemes.com/blog/tips-tricks/...
Ian