Pour aider à corriger une erreur dans un script, ou pour suivre des événements sur un site, il est utile d’enregistrer des logs personnalisés.
Voici un exemple qui vous permet de générer des logs personnalisés :
/**
* @param $message
* @param $new_line
*/
function set_logs( $message = "", $new_line = false ) {
$file = "/logs/logs-" . date( 'Y-m-d' ) . ".log";
$separator = "";
if ( true === $new_line ) {
$separator = "\n";
}
$content = $separator . date( 'd.m.Y H:i:s' ) . " [" . $_SERVER["REMOTE_ADDR"] . "] : " . $message . "\n";
error_log( $content, 3, $file );
}
Exemple d’utilisation :
set_logs( "Lancement de la mise à jour des produits", true );
set_logs( "Les produits ont été correctement mis à jour" );
set_logs( "Le stock a été correctement mis à jour" );
set_logs( "Lancement de la mise à jour des images", true );
set_logs( "1 erreur a eu lieu sur l'image 1245 et 7896" );
Rendu, dans le fichier /logs/logs-2022-02-08.log :
08.02.2022 10:50:18 [00.00.00.00] : Lancement de la mise à jour des produits
08.02.2022 10:50:18 [00.00.00.00] : Les produits ont été correctement mis à jour
08.02.2022 10:50:18 [00.00.00.00] : Le stock a été correctement mis à jour
08.02.2022 10:50:18 [00.00.00.00] : Lancement de la mise à jour des images
08.02.2022 10:50:18 [00.00.00.00] : 1 erreur a eu lieu sur l'image 1245 et 7896
Pour suivre un type d’événement particulier, vous pouvez créer des fichiers de logs différents. Vous pouvez également activer l’enregistrement des logs seulement lorsque vous êtes dans votre environnement de développement.
define('ENV', 'PROD') ; // PROD OU DEV
/**
* @param $message
* @param $new_line
*/
function set_logs( $message = "", $new_line = false ) {
if (defined('ENV') && ENV != "DEV" ) {
return ;
}
// La suite du code...
}
Si cet article vous a aidé, si vous avez des questions ou des améliorations à proposer, n'hésitez pas à me laisser un commentaire en bas de page !