JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
core::ScopedLogLevel Class Reference

Relève le niveau minimal de logger à au moins floor pour la durée de vie de l'objet, et restaure le niveau précédent à la destruction. More...

#include <ScopedLogLevel.h>

Public Member Functions

 ScopedLogLevel (Logger &logger, LogLevel floor)
 ~ScopedLogLevel ()
 ScopedLogLevel (const ScopedLogLevel &)=delete
ScopedLogLeveloperator= (const ScopedLogLevel &)=delete

Private Attributes

Logger_logger

Detailed Description

Relève le niveau minimal de logger à au moins floor pour la durée de vie de l'objet, et restaure le niveau précédent à la destruction.

N'assouplit jamais un niveau déjà plus strict que floor : un utilisateur qui a explicitement demandé --log-level=error reste à error même à l'intérieur d'une portée qui ne demande que warning. Sert notamment à faire taire les traces de cycle de vie (chargement de niveau, déclenchement de mécanisme…) pendant une simulation IA headless (HeadlessLevelEnvironment), rejouée des milliers de fois par entraînement/évaluation — un volume de journalisation sans rapport avec une partie réelle, qui ralentit l'entraînement pour rien (LOT-ANNEXE-21).

Réentrant et sûr entre fils : la comptabilité vit dans le Logger (beginLevelElevation/endLevelElevation), pas dans chaque objet de portée. Deux portées qui se chevauchent — l'écran Mode IA peut faire tourner un entraînement et une évaluation en même temps, chacun sur son fil — restauraient sinon le niveau que la première avait relevé, laissant le journal muet pour le reste de la session.

Constructor & Destructor Documentation

◆ ScopedLogLevel() [1/2]

core::ScopedLogLevel::ScopedLogLevel ( Logger & logger,
LogLevel floor )
inline

◆ ~ScopedLogLevel()

core::ScopedLogLevel::~ScopedLogLevel ( )
inline

◆ ScopedLogLevel() [2/2]

core::ScopedLogLevel::ScopedLogLevel ( const ScopedLogLevel & )
delete

Member Function Documentation

◆ operator=()

ScopedLogLevel & core::ScopedLogLevel::operator= ( const ScopedLogLevel & )
delete

Member Data Documentation

◆ _logger

Logger& core::ScopedLogLevel::_logger
private

The documentation for this class was generated from the following file:
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/Core/Diagnostics/ScopedLogLevel.h