SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 239 visiteurs en ce moment

Accueil > Optimisation et performances > Les Logs

Les Logs

26 août 2014 – par amilcar, JLuc

9 votes

C’est bavard les log , encore faut il savoir les faire parler ..., ci dessous ce qu’un néophyte a pu comprendre avec l’aide de spécialistes.

Les fichiers *.log, c’est quoi ?

Un fichier log est un fichier journal au format texte qui pour chaque page vue sur votre site enregistre un certain nombre d’informations techniques générées par SPIP ou par des plugins.

Chacune de ces informations est stockée sur une ligne.

Intérêt des fichiers log et pourquoi les analyser ?

Les informations que recueillent les fichiers de log vous informent de certaines situations rencontrées par le code php, qui pourraient vous être utiles pour comprendre ce qui se passe, en cas de problème par exemple, ou pour la maintenance, ou pour vous aider à optimiser vos squelettes, ou pour vous aider à comprendre le comportement des visiteurs qui arrivent sur votre site.

Les fichiers log peuvent se révéler fastidieux en raison de leur longueur et de l’enchevêtrement peu pratique et peu esthétique de chiffres et de textes. Néanmoins, il est utile de régulièrement les analyser pour détecter et résoudre des problèmes qui seraient apparus sur le site.

Comment lire un fichier log ?

Tout simplement en ouvrant un éditeur de texte standard ou via votre console.

-  Quelques commandes pour lire les logs en console linux :
-  sudo tail -F Nom_du_fichier.log
-  fgrep 500 access-xxx.log | grep -v 200

Il existe aussi le plugin Simples Logs qui permet de lire les logs directement depuis la partie privée.

Pourquoi y a t il plusieurs fichiers de log avec le même nom ?

Vous verrez qu’il y a plusieurs fichiers de logs avec le même nom, mais une extension .1, .2 ou .3 en plus.
Exemple : spip.log, spip.log.1, spip.log.2

En effet, chaque fichier de log est limité à 100 kilo octets par défaut. Au delà de cette taille, le fichier courant est renommé avec l’extension .log.1 et un nouveau fichier vierge est créé pour recueillir les nouveaux logs.
Lorsque la limite de taille est atteinte de nouveau, l’éventuel .log.1 existant est renommé en .log.2 avant l’opération ci-dessus. De même, l’éventuel .log.2 existant est renommé en .log.3 avant l’opération ci-dessus.
Enfin, l’éventuel .log.3 existant est supprimé avant l’opération ci-dessus.

On verra plus loin que le nombre de fichier de logs gardés et leur taille maximale peuvent être paramétrés.

Où sont les logs Spip

Ils sont rangés dans divers répertoires temporaires de votre site.

Chez moi, /home/www/spipfactory/public_html/ étant la racine du dossier contenant le site :

  • /home/www/spipfactory/public_html/tmp/
    • spip.log
  • /home/www/spipfactory/public_html/tmp/log/
    • mysql.log
    • mysqlmysql.log
    • spip.log
  • Pour un Spip mutualisé : xxx étant le nom du site, /home/www/spipfactory/public_html/sites/xxx/tmp/log/
    • maj.log
    • spip.log
    • spip_error.log
    • sqlite.log

Quels sont les termes employés dans les logs ?

  • (pid xxxxx)
    numéro de processus sur le serveur. 1 Pid = 1 hit sur le serveur. Si le pid change, c’est que c’est un autre hit (qui peut être un hit ajax du même utilisateur, ou un hit d’un autre utilisateur).
  • Pub = public : un log qui se fait en affichant l’espace public
  • Pri = privé : un log qui se fait en affichant l’espace privé

Les termes ’INFO’, ’ERREUR’, ’WARNING’, mais aussi parfois ’ALERTE’, ’CRITIQUE’, ’debug’ indiquent le degré de log tels que définis là http://core.spip.org/projects/spip/repository/entry/spip/ecrire/inc_version.php#L139 et http://core.spip.org/projects/spip/repository/entry/spip/ecrire/inc/utils.php#L258

Paramétrage des logs dans le fichier mes_options.php

Le fichier de configuration ecrire/inc_version.php définit la taille maximale des fichiers de log et le nombre de log par défaut.
Ces valeurs peuvent être paramétrées dans mes_options.php.
Il est possible de désactiver les logs en mettant l’une de ces valeurs à zéro.

$GLOBALS['nombre_de_logs'] = 4; // 4 fichiers au plus
$GLOBALS['taille_des_logs'] = 100; // de 100ko au plus

Une constante _MAX_LOG (valant 100 par défaut) indique le nombre d’entrées que chaque appel d’une page peut écrire. Ainsi, après 100 appels de spip_log() par un même script, la fonction ne log plus.

La constante _LOG_FILTRE_GRAVITE définit le niveau maximal de gravité des informations à enregistrer dans les fichiers de log de SPIP.
Par défaut seuls les logs d’erreur sont enregistrés pour réduire la verbosité mais pendant la phase de développement, il peut être nécessaire d’obtenir des logs plus détaillés : dans ce cas vous redéfinirez la constante dans votre fichier config/mes_options.php

// définir le niveau maximum de verbosité des logs
define('_LOG_FILTRE_GRAVITE', _LOG_DEBUG);

Le niveau par défaut est dans ce cas de 5.

Les différentes valeurs de cette constante sont (du moins verbeux au plus verbeux)

  • _LOG_HS (= 0)
  • _LOG_ALERTE_ROUGE (= 1)
  • _LOG_CRITIQUE (= 2)
  • _LOG_ERREUR (= 3)
  • _LOG_AVERTISSEMENT (= 4)
  • _LOG_INFO_IMPORTANTE (= 5)
  • _LOG_INFO (= 6)
  • _LOG_DEBUG (= 7)

Le niveau _LOG_HS correspond à des erreurs graves : échec écriture session, échec connexion, requête non prévue pour le type de base de donnée, base absente ou droits manquants...

Le niveau _LOG_DEBUG est utilisé pour des messages intentionnellement laissés par le développeur, sans qu’il y ait problème mais pour l’aider dans sa mise au point.

5° Documentation

Voir aussi
-  la lame « SPIP et les logs » du couteau suisse.
-  le plugin Simplog : il permet de consulter les logs et de supprimer les plus anciens.

Dernière modification de cette page le 18 mars 2017

Retour en haut de la page

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Court-circuit 2

    17 octobre 2011 – 75 commentaires

    Court-circuit 2 permet de rediriger certaines rubriques vers un article particulier. Vous pouvez configurer, dans l’espace privé, les règles de redirection à appliquer. Historique Court-circuit 2 est une évolution de Court-circuit 1, reprenant (...)

  • Créer des squelettes avec Zcore

    14 juillet 2015 – 19 commentaires

    Ou comment bien démarrer avec Zcore. Avec SPIP 3.0 est venu le plugin Zcore développé par un collectif de spipeurs. De plus en plus d’utilisateurs adoptent la mécanique de « Z » pour leurs squelettes. Un premier article a été écris pour expliquer la (...)

  • Envoyer des fichiers avec un formulaire Formidable

    2 janvier – 32 commentaires

    La version 3.0.0 du plugin Formidable permet de créer des formulaires comprenant des envois de fichiers. Cet article regroupe la documentation relative à cette fonctionnalité. Pour une présentation générale de Formidable, voir « Formidable, le (...)

  • Grappes 1.0

    23 novembre 2012 – 27 commentaires

    Présentation et nouveautés Cette version 1.0 du plugin Grappes est un portage pour SPIP 3.x. Le plugin permet de grouper des objets de SPIP dans des grappes. Les objets du core (articles, rubriques, auteurs, etc.) sont pris en charge, ainsi que (...)

  • NoSPAM

    20 novembre 2008 – 277 commentaires

    Un plugin pour limiter le risque de spam dans les forums de SPIP.

Ça spipe par là