Comment vérifier le Log du système Magento

Écrit par Mario SAM

Les fichiers journaux sont très utiles lors du processus de développement du système pour détecter les problèmes, les conflits et identifier les dysfonctionnements.

Magento offre 3 (trois) contrôles de journal:

1. Journal de surveillance de la navigation. Voir le message: Effacer la table du journal.

2. Journal des pannes du système. View post: Numéro d’enregistrement du journal des erreurs.

3. Enregistrez les événements et les exceptions. Ce que nous verrons dans ce post.

Pourquoi devrais-je

Pendant la configuration de votre boutique, le développement de modules, la personnalisation de pages, l’installation d’extensions, il est très important de surveiller les événements et les exceptions qui se produisent sur votre système.

Il est très commun pour les gens de commencer à personnaliser l’ensemble du magasin, et “à l’improviste” quelque chose à travailler comme il se doit, qu’il s’agisse d’un carnet d’adresses, d’un moyen de paiement ou d’une évaluation de produit.

Vous pouvez avoir des problèmes/conflits dans le code qui ne parviennent pas à générer un plantage du système, vous n’avez donc pas le fameux Numéro d’enregistrement du journal des erreurs. Ce qui ne veut pas dire qu’il n’y a pas d’erreurs.

Comment utiliser

Dès que vous installez Magento, le contrôle du journal des événements et des exceptions est désactivé. Car ce n’est pas quelque chose d’essentiel pour le fonctionnement du système.

Mais fondamental pour ceux qui se développent. Alors allez à:

Système > Configuration > Avancé > Développeur [Paramètres du journal]

Et remplacez l’option Activé par “Oui” et cliquez sur Enregistrer.

Voyez aussi que vous pouvez personnaliser le nom des fichiers. Et en dessous du nom indique le répertoire où ces fichiers seront gérés.

Comment lire

Maintenant que votre système génère des fichiers journaux, vous pouvez suivre les fichiers pour identifier les problèmes possibles, il suffit d’aller dans le répertoire indiqué:

votre installation > var > log

Les deux fichiers seront répertoriés system.log et exception.log.

Où vous pouvez utiliser le system.log pour générer un déboguage du code, avec des messages de type “méthode appelée et renvoyant la valeur X“. Ou générer une alerte de type “valeur invalide pour le calcul sur la signature de la méthode“.

Et le fichier exception.log est l’endroit où les erreurs sont surveillées. Ce sont des erreurs similaires à celles générées par Numéro d’enregistrement du journal des erreurs, la différence est qu’ils n’empêchent même pas le système de continuer à fonctionner. Exemple:

2013-07-24T07:23:14+00:00 ERR (3): 
exception 'Exception' with message 'Strict Notice: Non-static method Mage_Core_Model_Locale::date() should not be called statically, assuming $this from incompatible context in /Users/mariosam/app/design/frontend/base/default/template/catalog/product/widget/new/content/new_list.phtml on line 74' in /Users/mariosam/app/code/core/Mage/Core/functions.php:245
Stack trace:
#0 /Users/mariosam/app/design/frontend/base/default/template/catalog/product/widget/new/content/new_list.phtml(74): mageCoreErrorHandler(2048, 'Non-static meth...', '/Users/mariosam...', 74, Array)
#1 /Users/mariosam/app/code/core/Mage/Core/Block/Template.php(216): include('/Users/mariosam...')

Il continue jusqu’au numéro #20, #30, #40 {main}. Mais ce qui compte vraiment, ce sont les premières lignes.

Et si vous ne savez pas comment interpréter le message, copiez les informations et appelez le forum Bragento pour obtenir de l’aide.

Utilisation du journal

Si vous êtes développeur, vous pouvez utiliser les fichiers journaux pour déboguer votre code. Utilisez simplement le code ci-dessous:

Exception log:
...
} catch(Exception $e) {
    Mage::logException($e);
}

La signature de la méthode est la suivante:

public static function logException(Exception $e)
Event Log:
Mage::log('votre message ici...');

La signature de la méthode est la suivante:

public static function log($message, $level = null, $file = '', $forceLog = false)

Notez qu’il est possible de dire au message, un degré important (niveau), le nom d’un (fichier) pour sauvegarder le journal, et si vous devez forcer l’enregistrement du même fichier avec le système de journal désactivé.

Vous voulez d’autres conseils sur l’utilisation du fichier journal pour le débogage? Voir le wiki sur le site officiel: Magento Debugging Tips.

Succès!

L'auteur

Mario SAM

En attendant qu'une opportunité se présente de m'installer en France, je continue d'aider à distance.