spip_log

Cette fonction permet de stocker des actions dans les fichiers de logs (généralement placés dans le répertoire tmp/).

Cette fonction prend 1 ou 2 arguments. Un seul, elle écrira dans le fichier spip.log. Deux, elle écrira dans un fichier séparé et aussi dans spip.log.

<?php
spip_log($tableau);
spip_log($tableau, 'second_fichier');
spip_log("ajout de $champ dans $table","mon_plugin");
?>

Lorsqu’un tableau est transmis à la fonction de log, SPIP écrira le résultat d’un print_r() dans le fichier de log. Pour chaque fichier demandé, ici spip (par défaut) et second_fichier, SPIP créera ou ajoutera le contenu du premier argument, mais pas n’importe où. Si le script est dans l’interface privée, il écrira dans « prive_spip.log » ou « prive_second_fichier.log », sinon dans « spip.log » ou « second_fichier.log ».

Le fichier de configuration ecrire/inc_version.php définit la taille maximale des fichiers de log. Lorsqu’un fichier dépasse la taille souhaitée, il est copié sous un autre nom, par exemple prive_spip.log.n (n s’incrémentant). Ce nombre de fichiers copiés est aussi réglable. Il est aussi possible de désactiver les logs en mettant une de ces valeurs à zéro dans mes_options.php.

$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.

Auteur Matthieu Marcillaud Publié le : Mis à jour : 12/03/23

Traductions : English, français