SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 118 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

  • Agenda 2.0

    3 novembre 2008 – 1095 commentaires

    Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir. Pour une documentation concernant l’utilisation d’Agenda 3 pour SPIP 3, veuillez pour l’instant vous référer à SPIP 3, Agenda (...)

  • SpipClear 2.1

    18 avril 2009 – 137 commentaires

    Un squelette de blog parmi les autres, entièrement pompé (avec la permission du concepteur) sur le thème par défaut de DotClear.

  • Diaporama responsive avec Nivo Slider

    15 septembre 2015 – commentaires

    Un diaporama responsive basé sur « Nivoslider ». Introduction Cette contribution est une adaptation liée à Nivo-Slider (http://contrib.spip.net/Nivo-Slider-3747). Ce dernier plugin disponible n’étant pas responsive, nous l’avons refait une adaptation (...)

  • Mon site affiche une page blanche ou je ne peux plus accèder à l’espace privé

    7 février 2008 – 32 commentaires

    Au secours ! « Tout à coup » votre site devient inutilisable ou inaccessible ! Comment faire ? Pourquoi ? Par où commencer ? Sans pouvoir couvrir tous les cas, cet article va essayer de vous guider rapidement vers la (...)

  • Polyhiérarchie

    14 juillet 2009 – 166 commentaires

    Ce plugin permet de rattacher un article ou une rubrique à plusieurs rubriques parentes.