Interface du gestionnaire de traces. Plus de détails...
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 String & | traceId () 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é. | |
Fonctions membres privées | |
ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS () | |
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:
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.
Si on souhaite envoyer un message en plusieurs fois, il faut stocker le flot retourné:
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.
|
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.
|
pure virtual |
Signale un début d'écriture du message message.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Configuration associées à la classe de message name.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Retourne le niveau dbg du fichier de configuration.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Flot pour un message de debug.
Implémenté dans Arccore::TraceMng.
Référencé par Arcane::ItemGroupImpl::_computeChildrenByType(), Arcane::TimeHistoryMngInternal::_dumpCurvesAllWriters(), Arcane::ItemGroupImpl::changeIds(), Arcane::OutputChecker::check(), Arcane::ItemGroupDynamicMeshObserver::executeCompact(), Arcane::OwnItemGroupComputeFunctor::executeFunctor(), Arcane::GhostItemGroupComputeFunctor::executeFunctor(), Arcane::InterfaceItemGroupComputeFunctor::executeFunctor(), Arcane::ItemItemGroupComputeFunctor< ItemType >::executeFunctor(), Arcane::InnerFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterFaceItemGroupComputeFunctor::executeFunctor(), Arcane::ActiveCellGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveCellGroupComputeFunctor::executeFunctor(), Arcane::LevelCellGroupComputeFunctor::executeFunctor(), Arcane::OwnLevelCellGroupComputeFunctor::executeFunctor(), Arcane::ActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::ItemGroupDynamicMeshObserver::executeReduce(), Arcane::GetVariablesValuesParallelOperation::getVariableValues(), Arcane::ItemGroupImpl::localIdToIndex(), Arcane::ItemTypeMng::readTypes(), Arcane::ItemGroupImpl::removeSuppressedItems(), Arcane::ArrayDataT< DataType >::serialize(), Arcane::ItemFamilySerializer::serializeItemRelations(), Arcane::ItemGroupImpl::setItems(), Arcane::ItemGroupImpl::synchronizer(), et Arcane::ItemGroupImpl::unguardedItemsLocalId().
|
pure virtual |
Flot pour un message non utilisé
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Signale une fin d'écriture du message message.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Flot pour un message d'erreur.
Implémenté dans Arccore::TraceMng.
Référencé par Arcane::ArcaneMain::callFunctorWithCatchedException(), Arcane::MeshUtils::checkMeshProperties(), Arcane::CodeService::createAndLoadCase(), et Arcane::TimeHistoryMngInternal::readVariables().
|
pure virtual |
Flot pour un message d'erreur fatale.
Implémenté dans Arccore::TraceMng.
Référencé par Arcane::InterfaceItemGroupComputeFunctor::executeFunctor(), Arcane::ActiveCellGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveCellGroupComputeFunctor::executeFunctor(), Arcane::LevelCellGroupComputeFunctor::executeFunctor(), Arcane::OwnLevelCellGroupComputeFunctor::executeFunctor(), Arcane::GetVariablesValuesParallelOperation::getVariableValues(), Arcane::GetVariablesValuesParallelOperation::getVariableValues(), et Arcane::ItemGroupImpl::removeSuppressedItems().
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 à:
comme ceci:
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.
|
pure virtual |
Termine l'initialisation.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Flush tous les flots.
Implémenté dans Arccore::TraceMng.
Référencé par Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV2(), Arcane::MetisMeshPartitioner::_writeGraph(), Arcane::mesh::GhostLayerBuilder::addGhostChildFromParent(), Arcane::MpiParallelMng::barrier(), Arcane::mesh::Parallel3EdgeUniqueIdBuilder::compute(), Arcane::AlephKernel::createSolverVector(), Arcane::TimeLoopMng::doComputeLoop(), Arcane::SubDomain::doExitModules(), Arcane::TimeLoopMng::execExitEntryPoints(), Arcane::AlephKernel::mapranks(), et Arcane::AlephKernel::syncSolver().
|
pure virtual |
Flot pour un message d'information.
Implémenté dans Arccore::TraceMng.
Référencé par Arcane::ItemGroupImpl::_computeChildrenByTypeV2(), Arcane::TimeHistoryMngInternal::_dumpCurvesAllWriters(), Arccore::MessagePassing::Mpi::MpiSerializeMessageList::_processOneMessage(), Arccore::MessagePassing::Mpi::MpiSerializeMessageList::_processOneMessageGlobalBuffer(), Arcane::TimeHistoryMngInternal::addCurveWriter(), Arcane::ItemGroupImpl::addItems(), Arcane::ExternalPartitionConstraint::addLinkedCells(), Arcane::LimaCaseMeshReader::Builder::allocateMeshItems(), Arcane::MEDCaseMeshReader::Builder::allocateMeshItems(), Arcane::MshCaseMeshReader::Builder::allocateMeshItems(), Arcane::VtkLegacyCaseMeshReader::Builder::allocateMeshItems(), Arcane::VtkPolyhedralCaseMeshReader::Builder::allocateMeshItems(), Arcane::MpiParallelMng::build(), Arcane::DefaultBackwardMng::checkAndApplySave(), Arcane::MessagePassing::HybridParallelMng::createSubParallelMngRef(), Arcane::InternalInfosDumper::dumpArcaneDatabase(), Arcane::TimeHistoryMngInternal::dumpHistory(), Arcane::ArcaneMainBatch::execute(), Arcane::GetVariablesValuesParallelOperation::getVariableValues(), Arcane::DefaultBackwardMng::goBackward(), Arcane::ArcaneMainExecInfo::initialize(), Arcane::SequentialParallelMng::initialize(), Arcane::MpiParallelMng::initialize(), Arcane::ServiceLoader::loadModules(), Arcane::dom::LibXml2_Parser::parse(), ArcaneMeshUtilsCodeService::parseArgs(), Arcane::ItemTypeMng::readTypes(), Arcane::TimeHistoryMngInternal::readVariables(), Arcane::DataStorageFactory< DataType >::registerDataFactory(), Arcane::ItemGroupImpl::removeAddItems(), Arcane::TimeHistoryMngInternal::resizeArrayAfterRestore(), Arcane::TransferValuesParallelOperation::transferValues(), et Arcane::MeshUtils::writeMeshConnectivity().
|
pure virtual |
Flot pour un message d'information conditionnel.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Flot pour un message d'information d'une catégorie donnée.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Flot pour un message d'information d'un niveau donné
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Indique si les sorties des messages d'informations sont activées.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Flot pour un message de log.
Implémenté dans Arccore::TraceMng.
Référencé par Arcane::ServiceLoader::loadApplicationServices(), Arcane::ServiceLoader::loadSessionServices(), et Arcane::ServiceLoader::loadSubDomainServices().
|
pure virtual |
Flot pour un message de log précédé de l'heure.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Flot pour un message d'erreur parallèle.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Flot pour un message d'erreur fatale parallèle.
Implémenté dans Arccore::TraceMng.
Référencé par Arcane::DefaultBackwardMng::beginAction(), et Arcane::DefaultBackwardMng::goBackward().
|
pure virtual |
Flot pour un message d'information parallèle.
Implémenté dans Arccore::TraceMng.
Référencé par Arcane::GetVariablesValuesParallelOperation::getVariableValues().
|
pure virtual |
Flot pour un message d'information parallèle d'une catégorie donnée.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Flot pour un message de log parallèle.
Implémenté dans Arccore::TraceMng.
Référencé par Arcane::TimeLoopMng::execExitEntryPoints().
|
pure virtual |
Supprime la dernière classe de message de la pile. \threadsafe.
Implémenté dans Arccore::TraceMng.
|
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().
|
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.
|
pure virtual |
Flot pour un message d'avertissement parallèle.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Supprime toutes les classes de configuration positionnées via setClassConfig().
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Supprime l'observateur v de ce gestionnaire de message.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Indique que le gestionnaire de thread à changé et qu'il faut redéclarer les structures gérant le multi-threading. Interne à Arccore, ne pas utiliser.
Implémenté dans Arccore::TraceMng.
|
inlinevirtual |
Définition à la ligne 197 du fichier arccore/src/trace/arccore/trace/ITraceMng.h.
|
pure virtual |
Positionne la configuration pour la classe de message name.
Implémenté dans Arccore::TraceMng.
|
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.
|
pure virtual |
Modifie l'état d'activation des messages d'info.
Implémenté dans Arccore::TraceMng.
|
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.
|
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.
|
pure virtual |
Redirige tous les messages sur le flot o.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Redirige tous les messages sur le flot o.
Implémenté dans Arccore::TraceMng.
|
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.
Référencé par Arcane::TraceMngPolicy::initializeTraceMng(), et Arcane::TraceMngPolicy::setDefaultVerboseLevel().
|
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.
|
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.
Référencé par Arcane::TraceMngPolicy::initializeTraceMng(), et Arcane::TraceMngPolicy::setDefaultVerboseLevel().
|
pure virtual |
Niveau de verbosité des messages sur std::cout.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Identifiant du gestionnnaire.
Implémenté dans Arccore::TraceMng.
|
pure virtual |
Niveau de verbosité des messages.
Implémenté dans Arccore::TraceMng.
|
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.
|
pure virtual |
Flot pour un message d'avertissement.
Implémenté dans Arccore::TraceMng.
Référencé par Arcane::SimpleTableInternalComparator::compare(), Arcane::TimeHistoryMngInternal::editOutputPath(), Arcane::MpiParallelMng::initialize(), Arcane::MessagePassing::HybridParallelMng::initialize(), Arcane::ServiceLoader::loadSingletonService(), et Arcane::LimaMeshWriter::writeMeshToFile().
|
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.