Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arccore::ITraceMngabstract

Interface du gestionnaire de traces. Plus de détails...

#include <arccore/trace/ITraceMng.h>

+ Graphe d'héritage de Arccore::ITraceMng:
+ Graphe de collaboration de Arccore::ITraceMng:

Fonctions membres publiques

virtual TraceMessage error ()=0
 Flot pour un message d'erreur.
 
virtual TraceMessage perror ()=0
 Flot pour un message d'erreur parallèle.
 
virtual TraceMessage fatal ()=0
 Flot pour un message d'erreur fatale.
 
virtual TraceMessage pfatal ()=0
 Flot pour un message d'erreur fatale parallèle.
 
virtual TraceMessage warning ()=0
 Flot pour un message d'avertissement.
 
virtual TraceMessage pwarning ()=0
 Flot pour un message d'avertissement parallèle.
 
virtual TraceMessage info ()=0
 Flot pour un message d'information.
 
virtual TraceMessage pinfo ()=0
 Flot pour un message d'information parallèle.
 
virtual TraceMessage info (char category)=0
 Flot pour un message d'information d'une catégorie donnée.
 
virtual TraceMessage info (Int32 level)=0
 Flot pour un message d'information d'un niveau donné
 
virtual TraceMessage pinfo (char category)=0
 Flot pour un message d'information parallèle d'une catégorie donnée.
 
virtual TraceMessage info (bool)=0
 Flot pour un message d'information conditionnel.
 
virtual TraceMessage log ()=0
 Flot pour un message de log.
 
virtual TraceMessage plog ()=0
 Flot pour un message de log parallèle.
 
virtual TraceMessage logdate ()=0
 Flot pour un message de log précédé de l'heure.
 
virtual TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium)=0
 Flot pour un message de debug.
 
virtual TraceMessage devNull ()=0
 Flot pour un message non utilisé
 
virtual ARCCORE_DEPRECATED_2018 bool setActivated (bool v)
 
virtual bool setInfoActivated (bool v)=0
 Modifie l'état d'activation des messages d'info.
 
virtual bool isInfoActivated () const =0
 Indique si les sorties des messages d'informations sont activées.
 
virtual void finishInitialize ()=0
 Termine l'initialisation.
 
virtual void pushTraceClass (const String &name)=0
 Ajoute la classe s à la pile des classes de messages actifs. \threadsafe.
 
virtual void popTraceClass ()=0
 Supprime la dernière classe de message de la pile. \threadsafe.
 
virtual void flush ()=0
 Flush tous les flots.
 
virtual ARCCORE_DEPRECATED_2018 void setRedirectStream (std::ostream *o)=0
 Redirige tous les messages sur le flot o.
 
virtual void setRedirectStream (ITraceStream *o)=0
 Redirige tous les messages sur le flot o.
 
virtual Trace::eDebugLevel configDbgLevel () const =0
 Retourne le niveau dbg du fichier de configuration.
 
virtual void addListener (ITraceMessageListener *v)=0
 Ajoute l'observateur v à ce gestionnaire de message.
 
virtual void removeListener (ITraceMessageListener *v)=0
 Supprime l'observateur v de ce gestionnaire de message.
 
virtual void setTraceId (const String &id)=0
 Positionne l'identifiant du gestionnnaire.
 
virtual const StringtraceId () const =0
 Identifiant du gestionnnaire.
 
virtual void setErrorFileName (const String &file_name)=0
 Positionne le nom du fichier d'erreur à file_name.
 
virtual void setLogFileName (const String &file_name)=0
 Positionne le nom du fichier de log à file_name.
 
virtual void beginTrace (const TraceMessage *message)=0
 Signale un début d'écriture du message message.
 
virtual void endTrace (const TraceMessage *message)=0
 Signale une fin d'écriture du message message.
 
virtual void putTrace (const String &message, int type)=0
 Envoie directement un message de type type.
 
virtual void setClassConfig (const String &name, const TraceClassConfig &config)=0
 Positionne la configuration pour la classe de message name.
 
virtual TraceClassConfig classConfig (const String &name) const =0
 Configuration associées à la classe de message name.
 
virtual void setMaster (bool is_master)=0
 Positionne l'état 'maitre' de l'instance.
 
virtual bool isMaster () const =0
 
virtual void setVerbosityLevel (Int32 level)=0
 Positionne le niveau de verbosité des sorties.
 
virtual Int32 verbosityLevel () const =0
 Niveau de verbosité des messages.
 
virtual void setStandardOutputVerbosityLevel (Int32 level)=0
 Positionne le niveau de verbosité des sorties sur std::cout.
 
virtual Int32 standardOutputVerbosityLevel () const =0
 Niveau de verbosité des messages sur std::cout.
 
virtual void resetThreadStatus ()=0
 
virtual void writeDirect (const TraceMessage *msg, const String &str)=0
 Écrit directement un message.
 
virtual void removeAllClassConfig ()=0
 Supprime toutes les classes de configuration positionnées via setClassConfig().
 
virtual void visitClassConfigs (IFunctorWithArgumentT< std::pair< String, TraceClassConfig > > *functor)=0
 
void fatalMessage (const StandaloneTraceMessage &o)
 Effectue un fatal() sur un message déjà fabriqué.
 

Description détaillée

Interface du gestionnaire de traces.

Une instance de cette classe gère les flots de traces. Pour envoyer un message, il suffit d'appeler la méthode corrrespondante (info() pour un message d'information, error() pour une erreur, ...) pour récupérer un flot et d'utiliser l'opérateur << sur ce flot pour transmettre un message.

Par exemple:

ITraceMng* tr = ...;
tr->info() << "Ceci est une information.";
int proc_id = 0;
tr->error() << "Erreur sur le processeur " << proc_id;
Interface du gestionnaire de traces.
virtual TraceMessage info()=0
Flot pour un message d'information.
virtual TraceMessage error()=0
Flot pour un message d'erreur.

Le message est envoyé lors de la destruction du flot. Dans les exemples précédents, les flots sont temporairement créés (par la méthode info()) et détruits dès que l'opérateur << a été appliqué dessus.

Avertissement
Il faut absolument appeler la méthode finishInitialize() avant d'utiliser les appels aux méthodes pushTraceClass() et popTraceClass().

Si on souhaite envoyer un message en plusieurs fois, il faut stocker le flot retourné:

TraceMessage info = m_trace_mng->info();
info() << "Début de l'information.\n"
info() << "Fin de l'information.";

Il est possible d'utiliser des formatteurs simples sur les messages (via la classe #TraceMessage) ou des formatteurs standards des iostream en appliquant l'opérateur operator() de TraceMessage.

Les instances de cette classe sont gérées par compteur de référence. Il est préférable de conserver les instances dans un ReferenceCounter.

Définition à la ligne 155 du fichier arccore/src/trace/arccore/trace/ITraceMng.h.

Documentation des fonctions membres

◆ addListener()

virtual void Arccore::ITraceMng::addListener ( ITraceMessageListener v)
pure virtual

Ajoute l'observateur v à ce gestionnaire de message.

L'appelant reste propriétaire de v et doit l'enlever via removeListener() avant de le détruire.

Implémenté dans Arccore::TraceMng.

◆ beginTrace()

virtual void Arccore::ITraceMng::beginTrace ( const TraceMessage message)
pure virtual

Signale un début d'écriture du message message.

Implémenté dans Arccore::TraceMng.

◆ classConfig()

virtual TraceClassConfig Arccore::ITraceMng::classConfig ( const String name) const
pure virtual

Configuration associées à la classe de message name.

Implémenté dans Arccore::TraceMng.

◆ configDbgLevel()

virtual Trace::eDebugLevel Arccore::ITraceMng::configDbgLevel ( ) const
pure virtual

Retourne le niveau dbg du fichier de configuration.

Implémenté dans Arccore::TraceMng.

◆ debug()

◆ devNull()

virtual TraceMessage Arccore::ITraceMng::devNull ( )
pure virtual

Flot pour un message non utilisé

Implémenté dans Arccore::TraceMng.

◆ endTrace()

virtual void Arccore::ITraceMng::endTrace ( const TraceMessage message)
pure virtual

Signale une fin d'écriture du message message.

Implémenté dans Arccore::TraceMng.

◆ error()

virtual TraceMessage Arccore::ITraceMng::error ( )
pure virtual

Flot pour un message d'erreur.

Implémenté dans Arccore::TraceMng.

Référencé par Arcane::MeshUtils::checkMeshProperties(), et Arcane::CodeService::createAndLoadCase().

◆ fatal()

◆ fatalMessage()

void Arccore::ITraceMng::fatalMessage ( const StandaloneTraceMessage o)

Effectue un fatal() sur un message déjà fabriqué.

Cette méthode permet d'écrire un code équivalent à:

fatal() << "MyMessage";
virtual TraceMessage fatal()=0
Flot pour un message d'erreur fatale.

comme ceci:

void fatalMessage(const StandaloneTraceMessage &o)
Effectue un fatal() sur un message déjà fabriqué.
Gestion d'un message autonome.

Cette deuxième solution permet de signaler au compilateur que la méthode ne retournera pas et ainsi d'éviter certains avertissements de compilation.

Définition à la ligne 1315 du fichier arccore/src/trace/arccore/trace/TraceMng.cc.

◆ finishInitialize()

virtual void Arccore::ITraceMng::finishInitialize ( )
pure virtual

Termine l'initialisation.

Implémenté dans Arccore::TraceMng.

◆ flush()

virtual void Arccore::ITraceMng::flush ( )
pure virtual

Flush tous les flots.

Implémenté dans Arccore::TraceMng.

◆ info() [1/4]

virtual TraceMessage Arccore::ITraceMng::info ( )
pure virtual

Flot pour un message d'information.

Implémenté dans Arccore::TraceMng.

Référencé par Arcane::DOMImplementation::_load(), Arcane::DOMImplementation::_load(), Arccore::MessagePassing::Mpi::MpiSerializeMessageList::_processOneMessage(), Arccore::MessagePassing::Mpi::MpiSerializeMessageList::_processOneMessageGlobalBuffer(), Arcane::CaseOptionExtended::_search(), Arcane::CaseOptionMultiExtended::_search(), Arcane::ItemGroupImpl::addItems(), Arcane::CartesianMeshAllocateBuildInfo::allocateMesh(), Arcane::UnstructuredMeshAllocateBuildInfo::allocateMesh(), Arcane::LimaCaseMeshReader::Builder::allocateMeshItems(), Arcane::ItemGroupImpl::applyOperation(), Arcane::Accelerator::arcaneInitializeRunner(), Arcane::GeometricUtilities::QuadMapping::cartesianToIso(), Arcane::GeometricUtilities::QuadMapping::cartesianToIso2(), Arcane::MeshUtils::checkUniqueIdsHashCollective(), Arcane::MessagePassing::dumpDateAndMemoryUsage(), Arcane::MeshUtils::dumpSynchronizerTopologyJSON(), Arccore::MessagePassing::Mpi::MpiSerializeDispatcher::ReceiveSerializerSubRequest::executeOnCompletion(), Arcane::Parallel::Stat::mergeValues(), Arcane::dom::LibXml2_Parser::parse(), Arcane::Parallel::Stat::print(), Arcane::Parallel::Stat::printCollective(), Arcane::MeshUtils::printMeshGroupsMemoryUsage(), Arcane::CaseOptions::read(), Arcane::ItemGroupImpl::removeAddItems(), Arcane::Parallel::Stat::saveValues(), Arcane::Materials::ItemMaterialVariableScalar< DataType >::serialize(), Arcane::MeshUtils::writeMeshConnectivity(), et Arcane::Hdf5ItemVariableInfo< VariableType, DataType >::writeVariable().

◆ info() [2/4]

virtual TraceMessage Arccore::ITraceMng::info ( bool  )
pure virtual

Flot pour un message d'information conditionnel.

Implémenté dans Arccore::TraceMng.

◆ info() [3/4]

virtual TraceMessage Arccore::ITraceMng::info ( char  category)
pure virtual

Flot pour un message d'information d'une catégorie donnée.

Implémenté dans Arccore::TraceMng.

◆ info() [4/4]

virtual TraceMessage Arccore::ITraceMng::info ( Int32  level)
pure virtual

Flot pour un message d'information d'un niveau donné

Implémenté dans Arccore::TraceMng.

◆ isInfoActivated()

virtual bool Arccore::ITraceMng::isInfoActivated ( ) const
pure virtual

Indique si les sorties des messages d'informations sont activées.

Implémenté dans Arccore::TraceMng.

◆ log()

virtual TraceMessage Arccore::ITraceMng::log ( )
pure virtual

Flot pour un message de log.

Implémenté dans Arccore::TraceMng.

◆ logdate()

virtual TraceMessage Arccore::ITraceMng::logdate ( )
pure virtual

Flot pour un message de log précédé de l'heure.

Implémenté dans Arccore::TraceMng.

◆ perror()

virtual TraceMessage Arccore::ITraceMng::perror ( )
pure virtual

Flot pour un message d'erreur parallèle.

Implémenté dans Arccore::TraceMng.

◆ pfatal()

virtual TraceMessage Arccore::ITraceMng::pfatal ( )
pure virtual

Flot pour un message d'erreur fatale parallèle.

Implémenté dans Arccore::TraceMng.

◆ pinfo() [1/2]

virtual TraceMessage Arccore::ITraceMng::pinfo ( )
pure virtual

Flot pour un message d'information parallèle.

Implémenté dans Arccore::TraceMng.

◆ pinfo() [2/2]

virtual TraceMessage Arccore::ITraceMng::pinfo ( char  category)
pure virtual

Flot pour un message d'information parallèle d'une catégorie donnée.

Implémenté dans Arccore::TraceMng.

◆ plog()

virtual TraceMessage Arccore::ITraceMng::plog ( )
pure virtual

Flot pour un message de log parallèle.

Implémenté dans Arccore::TraceMng.

◆ popTraceClass()

virtual void Arccore::ITraceMng::popTraceClass ( )
pure virtual

Supprime la dernière classe de message de la pile. \threadsafe.

Implémenté dans Arccore::TraceMng.

◆ pushTraceClass()

virtual void Arccore::ITraceMng::pushTraceClass ( const String name)
pure virtual

Ajoute la classe s à la pile des classes de messages actifs. \threadsafe.

Implémenté dans Arccore::TraceMng.

Référencé par Arccore::Trace::Setter::Setter().

◆ putTrace()

virtual void Arccore::ITraceMng::putTrace ( const String message,
int  type 
)
pure virtual

Envoie directement un message de type type.

type doit correspondre à Trace::eMessageType. Cette méthode ne doit être utilisée que par le wrapping .NET.

Implémenté dans Arccore::TraceMng.

◆ pwarning()

virtual TraceMessage Arccore::ITraceMng::pwarning ( )
pure virtual

Flot pour un message d'avertissement parallèle.

Implémenté dans Arccore::TraceMng.

Référencé par Arcane::Hdf5VariableInfoBase::writeGroup().

◆ removeAllClassConfig()

virtual void Arccore::ITraceMng::removeAllClassConfig ( )
pure virtual

Supprime toutes les classes de configuration positionnées via setClassConfig().

Implémenté dans Arccore::TraceMng.

◆ removeListener()

virtual void Arccore::ITraceMng::removeListener ( ITraceMessageListener v)
pure virtual

Supprime l'observateur v de ce gestionnaire de message.

Implémenté dans Arccore::TraceMng.

◆ setActivated()

virtual ARCCORE_DEPRECATED_2018 bool Arccore::ITraceMng::setActivated ( bool  v)
inlinevirtual
Obsolète:
Utiliser setInfoActivated() à la place

Définition à la ligne 197 du fichier arccore/src/trace/arccore/trace/ITraceMng.h.

◆ setClassConfig()

virtual void Arccore::ITraceMng::setClassConfig ( const String name,
const TraceClassConfig config 
)
pure virtual

Positionne la configuration pour la classe de message name.

Implémenté dans Arccore::TraceMng.

◆ setErrorFileName()

virtual void Arccore::ITraceMng::setErrorFileName ( const String file_name)
pure virtual

Positionne le nom du fichier d'erreur à file_name.

Si un fichier d'erreur est déjà ouvert, il est refermé et un nouveau avec ce nouveau nom de fichier sera créé lors de la prochaine erreur.

Si file_name est la chaîne nulle, aucun fichier d'erreur n'est utilisé.

Implémenté dans Arccore::TraceMng.

◆ setInfoActivated()

virtual bool Arccore::ITraceMng::setInfoActivated ( bool  v)
pure virtual

Modifie l'état d'activation des messages d'info.

Renvoie
l'ancien état d'activation.

Implémenté dans Arccore::TraceMng.

◆ setLogFileName()

virtual void Arccore::ITraceMng::setLogFileName ( const String file_name)
pure virtual

Positionne le nom du fichier de log à file_name.

Si un fichier de log est déjà ouvert, il est refermé et un nouveau avec ce nouveau nom de fichier sera créé lors du prochaine log.

Si file_name est la chaîne nulle, aucun fichier de log n'est utilisé.

Implémenté dans Arccore::TraceMng.

◆ setMaster()

virtual void Arccore::ITraceMng::setMaster ( bool  is_master)
pure virtual

Positionne l'état 'maitre' de l'instance.

Les instances qui ont cet attribut à true affichent les messages sur les std::cout ainsi que les messages perror() et pwarning(). Il est donc préférable qu'il n'y ait qu'une seule instance de ITraceMng maître.

Implémenté dans Arccore::TraceMng.

◆ setRedirectStream() [1/2]

virtual void Arccore::ITraceMng::setRedirectStream ( ITraceStream o)
pure virtual

Redirige tous les messages sur le flot o.

Implémenté dans Arccore::TraceMng.

◆ setRedirectStream() [2/2]

virtual ARCCORE_DEPRECATED_2018 void Arccore::ITraceMng::setRedirectStream ( std::ostream *  o)
pure virtual

Redirige tous les messages sur le flot o.

Obsolète:
Utiliser la surcharge setRedirectStream(ITraceStream*).

Implémenté dans Arccore::TraceMng.

◆ setStandardOutputVerbosityLevel()

virtual void Arccore::ITraceMng::setStandardOutputVerbosityLevel ( Int32  level)
pure virtual

Positionne le niveau de verbosité des sorties sur std::cout.

Cette propriété n'est utilisée que si isMaster() est vrai et qu'on a redirigé les sorties listings. Sinon, c'est la propriété verbosityLevel() qui est utilisée.

Implémenté dans Arccore::TraceMng.

◆ setTraceId()

virtual void Arccore::ITraceMng::setTraceId ( const String id)
pure virtual

Positionne l'identifiant du gestionnnaire.

Si non nul, l'identifiant est affiché en cas d'erreur pour identifier l'instance qui affiche le message. L'identifiant peut être quelconque. Par défaut, il s'agit du rang du processus et du nom de la machine.

Implémenté dans Arccore::TraceMng.

◆ setVerbosityLevel()

virtual void Arccore::ITraceMng::setVerbosityLevel ( Int32  level)
pure virtual

Positionne le niveau de verbosité des sorties.

Les messages de niveau supérieur à ce niveau ne sont pas sortis. Le niveau utilisé est celui donné en argument de info(Int32). Le niveau par défaut est celui donné par TraceMessage::DEFAULT_LEVEL.

Implémenté dans Arccore::TraceMng.

◆ standardOutputVerbosityLevel()

virtual Int32 Arccore::ITraceMng::standardOutputVerbosityLevel ( ) const
pure virtual

Niveau de verbosité des messages sur std::cout.

Implémenté dans Arccore::TraceMng.

◆ traceId()

virtual const String & Arccore::ITraceMng::traceId ( ) const
pure virtual

Identifiant du gestionnnaire.

Implémenté dans Arccore::TraceMng.

◆ verbosityLevel()

virtual Int32 Arccore::ITraceMng::verbosityLevel ( ) const
pure virtual

Niveau de verbosité des messages.

Implémenté dans Arccore::TraceMng.

◆ visitClassConfigs()

virtual void Arccore::ITraceMng::visitClassConfigs ( IFunctorWithArgumentT< std::pair< String, TraceClassConfig > > *  functor)
pure virtual

\biref Applique le fonctor functor sur l'ensemble des TraceClassConfig enregistrés.

Le premier argument de la paire est le nom de classe de configuration et le deuxième sa valeur telle que retournée par classConfig().

Il est permis de modifier le TraceClassConfig en cours de visite via un appel à setClassConfig().

Implémenté dans Arccore::TraceMng.

◆ warning()

virtual TraceMessage Arccore::ITraceMng::warning ( )
pure virtual

Flot pour un message d'avertissement.

Implémenté dans Arccore::TraceMng.

Référencé par Arcane::LimaMeshWriter::writeMeshToFile().

◆ writeDirect()

virtual void Arccore::ITraceMng::writeDirect ( const TraceMessage msg,
const String str 
)
pure virtual

Écrit directement un message.

Ecrit directement le message msg contenant la chaîne buf_array. Le message n'est pas analysé par l'instance et est toujours écrit sans aucun formattage spécifique. Cette opération ne doit en principe être utilisée que par un ITraceMessageListener. Pour les autres cas, il faut utiliser les traces standards.

Implémenté dans Arccore::TraceMng.


La documentation de cette classe a été générée à partir des fichiers suivants :