mirror of
https://github.com/tips-of-mine/gestion-certificats2.git
synced 2025-07-06 08:38:43 +02:00
Add files via upload
This commit is contained in:
48
app/src/Services/LogService.php
Normal file
48
app/src/Services/LogService.php
Normal 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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user