Add files via upload

This commit is contained in:
tips-of-mine
2025-06-14 19:03:54 +02:00
committed by GitHub
parent 2df60f551b
commit b17c666c5a
51 changed files with 4363 additions and 0 deletions

View File

@ -0,0 +1,48 @@
<?php
namespace App\Services;
/**
* Service pour journaliser les actions de l'application dans un fichier.
*/
class LogService
{
private $logFile; // Chemin complet du fichier de log
/**
* Constructeur du service de journalisation.
*
* @param string $logFile Chemin complet du fichier de log.
*/
public function __construct($logFile)
{
$this->logFile = $logFile;
}
/**
* Enregistre un message dans le fichier de log.
*
* @param string $level Niveau de gravité du log (ex: 'info', 'warning', 'error').
* @param string $message Le message à enregistrer.
* @param int|null $userId L'ID de l'utilisateur si l'action est liée à un utilisateur.
* @param string|null $ipAddress L'adresse IP d'où provient l'action.
*/
public function log($level, $message, $userId = null, $ipAddress = null)
{
$timestamp = date('Y-m-d H:i:s'); // Date et heure actuelle
$logEntry = sprintf("[%s] [%s] ", $timestamp, strtoupper($level)); // Format de base du log
// Ajoute l'ID utilisateur si fourni
if ($userId !== null) {
$logEntry .= "[User: $userId] ";
}
// Ajoute l'adresse IP si fournie
if ($ipAddress !== null) {
$logEntry .= "[IP: $ipAddress] ";
}
$logEntry .= "$message\n"; // Ajoute le message et un saut de ligne
// Écrit le log dans le fichier, en ajoutant au contenu existant
file_put_contents($this->logFile, $logEntry, FILE_APPEND);
}
}