Arcane  v3.16.0.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>

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 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 info (bool)=0
 Flot pour un message d'information conditionnel.
 
virtual TraceMessage pinfo ()=0
 Flot pour un message d'information parallèle.
 
virtual TraceMessage pinfo (char category)=0
 Flot pour un message d'information parallèle d'une catégorie donnée.
 
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 error()=0
Flot pour un message d'erreur.
virtual TraceMessage info()=0
Flot pour un message d'information.

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.";
virtual TraceMessage info()=0
Flot pour un message d'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 Arcane::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.

◆ fatalMessage()

void Arcane::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:

fatalMessage(StandaloneTraceMessage{} << "MyMessage");
void fatalMessage(const StandaloneTraceMessage &o)
Effectue un fatal() sur un message déjà fabriqué.

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 1314 du fichier arccore/src/trace/arccore/trace/TraceMng.cc.

◆ putTrace()

virtual void Arcane::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.

◆ setActivated()

virtual ARCCORE_DEPRECATED_2018 bool Arcane::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.

◆ setErrorFileName()

virtual void Arcane::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é.

◆ setInfoActivated()

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

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

Renvoie
l'ancien état d'activation.

◆ setLogFileName()

virtual void Arcane::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é.

◆ setMaster()

virtual void Arcane::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.

◆ setRedirectStream()

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

Redirige tous les messages sur le flot o.

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

◆ setStandardOutputVerbosityLevel()

virtual void Arcane::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.

◆ setTraceId()

virtual void Arcane::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.

◆ setVerbosityLevel()

virtual void Arcane::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.

◆ visitClassConfigs()

virtual void Arcane::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().

◆ writeDirect()

virtual void Arcane::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.


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