SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 182 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 ?
  • [Se connecter]

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

  • Qrcode

    3 novembre 2010 – 46 commentaires

    Les QrCodes sont des codes barres lisibles essentiellement par les téléphones portables et permettent d’échanger avec ceux-ci diverses informations, et en particulier des liens. Ce plugin à pour objet de permettre à spip d’utiliser des QrCodes pour (...)

  • Plugin Modèles media

    25 avril 2011 – 180 commentaires

    Les modèles , et produisent chacun un résultat différent et ce résultat, pour les images, dépend du fait qu’elle soit dans le portfolio ou non. Ce plugin propose une nouvelle série de modèles ayant un comportement unifié et indépendant du mode des (...)

  • Speedsyndic pour SPIP 2 et SPIP 3

    11 octobre 2010 – 27 commentaires

    Ce plugin est une version compatible spip 2.0.x / 2.1 / 3.1 du plugin Speedsyndic Note : Une bonne partie du texte ci-dessous a été pompé de cet article, expliquant la version précédente du plugin. je n’ai fait qu’adapter le code pour spip 2, (...)

  • LIM : alléger l’espace privé

    20 avril 2015 – 41 commentaires

    Ce plugin permet de désactiver l’affichage de blocs ou de boutons, présents par défaut dans SPIP mais qui peuvent devenir inutiles dans le cadre de votre projet. Il allège du coup l’interface d’édition et supprime d’éventuels risques de confusion (...)

  • HTML Purifier

    5 janvier 2011 – commentaires

    Pour sécuriser l’affichage de certains textes (ceux qui proviennent potentiellement non pas des rédacteurs, mais de visiteurs non enregistrés ou de contributeurs externes, comme les forums ou les contenus des sites syndiqués), SPIP utilise en interne (...)

Ça spipe par là