Journaliseur associé à un moteur nommé.
Plus de détails...
#include <Logger.h>
|
| | Logger (const std::string &motorName) |
| | Construit un Logger pour le moteur spécifié.
|
| |
| | ~Logger () |
| |
| | Logger (const Logger &)=delete |
| |
| Logger & | operator= (const Logger &)=delete |
| |
| void | writeLog (LogLevel level, const char *functionSignature, int lineNumber, const std::string &message) |
| | Écrit une ligne de trace dans le fichier et la sortie de débogage.
|
| |
| void | setMinimumLogLevel (LogLevel minimumLevel) |
| | Définit le niveau minimum en dessous duquel les traces sont ignorées.
|
| |
| const std::string & | getMotorName () const |
| | Retourne le nom du moteur associé à cette instance.
|
| |
|
| static void | triggerFatalCrash (const std::string &errorMessage) |
| | Provoque l'arrêt immédiat de l'application après affichage d'une boîte de dialogue.
|
| |
|
| static std::string | extractClassName (const std::string &functionSignature) |
| | Extrait le nom de classe depuis la signature MSVC "__FUNCTION__".
|
| |
| static std::string | extractFunctionName (const std::string &functionSignature) |
| | Extrait le nom de la fonction depuis la signature MSVC "__FUNCTION__".
|
| |
| static std::string | formatLogLine (LogLevel level, const std::string &className, const std::string &functionName, int lineNumber, const std::string &message) |
| | Formate une ligne de trace complète.
|
| |
| static std::string | levelToString (LogLevel level) |
| | Convertit un LogLevel en chaîne courte pour l'affichage.
|
| |
| static std::string | getCurrentTimestamp () |
| | Retourne l'horodatage courant au format [HH:MM:SS].
|
| |
| static void | sendToDebugOutput (const std::string &text) |
| | Envoie une chaîne vers la sortie de débogage Visual Studio.
|
| |
Journaliseur associé à un moteur nommé.
Chaque instance ouvre (ou crée) un fichier "Logs/<nomDuMoteur>.log". Les écritures sont protégées par un mutex pour la compatibilité multi-thread. Le niveau minimum de filtre est configurable par setMinimumLogLevel().
◆ Logger() [1/2]
| Logger::Logger |
( |
const std::string & |
motorName | ) |
|
|
explicit |
Construit un Logger pour le moteur spécifié.
Crée le répertoire "Logs/" si absent, puis ouvre (mode append) le fichier "Logs/<motorName>.log".
- Paramètres
-
| motorName | Nom du moteur (ex. "GeoParser", "Simulation"). Utilisé comme nom de fichier de log. |
◆ ~Logger()
Destructeur — ferme proprement le fichier de log.
◆ Logger() [2/2]
| Logger::Logger |
( |
const Logger & |
| ) |
|
|
delete |
◆ extractClassName()
| std::string Logger::extractClassName |
( |
const std::string & |
functionSignature | ) |
|
|
staticprivate |
Extrait le nom de classe depuis la signature MSVC "__FUNCTION__".
Sur MSVC, "__FUNCTION__" retourne "NomDeClasse::NomDeFonction". Cette méthode retourne "NomDeClasse", ou une chaîne vide si aucun "::" n'est trouvé.
- Paramètres
-
| functionSignature | Valeur de FUNCTION fournie par le préprocesseur. |
- Renvoie
- Nom de la classe extraite, ou "" si non disponible.
◆ extractFunctionName()
| std::string Logger::extractFunctionName |
( |
const std::string & |
functionSignature | ) |
|
|
staticprivate |
Extrait le nom de la fonction depuis la signature MSVC "__FUNCTION__".
Retourne la partie après le dernier "::". Si aucun "::" n'est présent, retourne la chaîne entière.
- Paramètres
-
| functionSignature | Valeur de FUNCTION fournie par le préprocesseur. |
- Renvoie
- Nom de la fonction extraite.
◆ formatLogLine()
| std::string Logger::formatLogLine |
( |
LogLevel |
level, |
|
|
const std::string & |
className, |
|
|
const std::string & |
functionName, |
|
|
int |
lineNumber, |
|
|
const std::string & |
message |
|
) |
| |
|
staticprivate |
Formate une ligne de trace complète.
Format : [HH:MM:SS] [NIVEAU] {NomDeClasse} [NomDeFonction] "Ligne : XX" : Message
- Paramètres
-
| level | Niveau de sévérité. |
| className | Nom de la classe (extrait de FUNCTION). |
| functionName | Nom de la fonction (extrait de FUNCTION). |
| lineNumber | Numéro de ligne source. |
| message | Message utilisateur. |
- Renvoie
- Chaîne formatée prête à écrire.
◆ getCurrentTimestamp()
| std::string Logger::getCurrentTimestamp |
( |
| ) |
|
|
staticprivate |
Retourne l'horodatage courant au format [HH:MM:SS].
- Renvoie
- Chaîne horodatage entre crochets.
◆ getMotorName()
| const std::string & Logger::getMotorName |
( |
| ) |
const |
Retourne le nom du moteur associé à cette instance.
- Renvoie
- Nom du moteur passé au constructeur.
◆ levelToString()
| std::string Logger::levelToString |
( |
LogLevel |
level | ) |
|
|
staticprivate |
Convertit un LogLevel en chaîne courte pour l'affichage.
- Paramètres
-
- Renvoie
- Chaîne de 7 caractères max (ex. "INFO ", "WARNING").
◆ operator=()
◆ sendToDebugOutput()
| void Logger::sendToDebugOutput |
( |
const std::string & |
text | ) |
|
|
staticprivate |
Envoie une chaîne vers la sortie de débogage Visual Studio.
Utilise OutputDebugStringA sur Windows. Sans effet sur les autres plateformes.
- Paramètres
-
| text | Texte à envoyer à la sortie de débogage. |
◆ setMinimumLogLevel()
| void Logger::setMinimumLogLevel |
( |
LogLevel |
minimumLevel | ) |
|
Définit le niveau minimum en dessous duquel les traces sont ignorées.
Par défaut : LogLevel::DEBUG (toutes les traces sont écrites).
- Paramètres
-
| minimumLevel | Niveau minimum (inclus) à journaliser. |
◆ triggerFatalCrash()
| void Logger::triggerFatalCrash |
( |
const std::string & |
errorMessage | ) |
|
|
static |
Provoque l'arrêt immédiat de l'application après affichage d'une boîte de dialogue.
Appelé automatiquement par la macro LOG_FAILURE. Ne retourne jamais.
- Paramètres
-
| errorMessage | Message d'erreur affiché dans la boîte de dialogue. |
◆ writeLog()
| void Logger::writeLog |
( |
LogLevel |
level, |
|
|
const char * |
functionSignature, |
|
|
int |
lineNumber, |
|
|
const std::string & |
message |
|
) |
| |
Écrit une ligne de trace dans le fichier et la sortie de débogage.
Méthode appelée directement par les macros LOG_*. Ne pas appeler manuellement — préférer les macros pour bénéficier du contexte automatique.
- Paramètres
-
| level | Niveau de sévérité de la trace. |
| functionSignature | Signature de la fonction appelante (FUNCTION). |
| lineNumber | Numéro de ligne source (LINE). |
| message | Texte du message à journaliser. |
◆ m_minimumLevel
Niveau minimum de filtrage.
◆ m_motorName
| std::string Logger::m_motorName |
|
private |
Nom du moteur (identifiant du fichier log).
◆ m_outputFile
| std::ofstream Logger::m_outputFile |
|
private |
Flux d'écriture vers le fichier de log.
◆ m_writeMutex
| std::mutex Logger::m_writeMutex |
|
private |
Protection mutex pour les accès concurrents.
La documentation de cette classe a été générée à partir des fichiers suivants :
- SimulateurFerroviaire/Engine/Core/Logger/Logger.h
- SimulateurFerroviaire/Engine/Core/Logger/Logger.cpp