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); } }