Implementation of the trace manager. More...
Classes | |
| class | TraceClass |
| Information about a message class. More... | |
Public Member Functions | |
| ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS () | |
| TraceMessage | operator() () |
| TraceMessage | info () override |
| Stream for an information message. | |
| TraceMessage | info (char) override |
| Stream for an information message of a given category. | |
| TraceMessage | info (Int32 verbose_level) override |
| Stream for an information message of a given level. | |
| TraceMessage | pinfo () override |
| Stream for a parallel information message. | |
| TraceMessage | pinfo (char) override |
| Stream for a parallel information message of a given category. | |
| TraceMessage | info (bool is_ok) override |
| Stream for a conditional information message. | |
| TraceMessage | warning () override |
| Stream for a warning message. | |
| TraceMessage | pwarning () override |
| Stream for a parallel warning message. | |
| TraceMessage | error () override |
| Stream for an error message. | |
| TraceMessage | perror () override |
| Stream for a parallel error message. | |
| TraceMessage | log () override |
| Stream for a log message. | |
| TraceMessage | plog () override |
| Stream for a parallel log message. | |
| TraceMessage | logdate () override |
| Stream for a log message preceded by the time. | |
| TraceMessage | fatal () override |
| Stream for a fatal error message. | |
| TraceMessage | pfatal () override |
| Stream for a parallel fatal error message. | |
| TraceMessage | devNull () override |
| Stream for an unused message. | |
| TraceMessageDbg | debug (Trace::eDebugLevel dbg_lvl) override |
| Stream for a debug message. | |
| void | endTrace (const TraceMessage *msg) override |
| Signals the end of writing message message. | |
| void | beginTrace (const TraceMessage *msg) override |
| Signals the start of writing message message. | |
| void | putTrace (const String &message, int type) override |
| Directly sends a message of type type. | |
| void | addListener (ITraceMessageListener *v) override |
| Adds observer v to this message manager. | |
| void | removeListener (ITraceMessageListener *v) override |
| Removes observer v from this message manager. | |
| bool | setInfoActivated (bool v) override |
| Modifies the activation state of info messages. | |
| bool | isInfoActivated () const override |
| Indicates if info message outputs are activated. | |
| void | finishInitialize () override |
| Finishes the initialization of the trace manager. | |
| void | pushTraceClass (const String &name) override |
| Adds class s to the stack of active message classes. \threadsafe. | |
| void | popTraceClass () override |
| Removes the last message class from the stack. \threadsafe. | |
| void | flush () override |
| Flushes all streams. | |
| void | setRedirectStream (std::ostream *ro) override |
| Redirects all messages to the stream o. | |
| void | setRedirectStream (ITraceStream *stream) override |
| Redirects all messages to the stream o. | |
| Trace::eDebugLevel | configDbgLevel () const override |
| Returns the dbg level of the configuration file. | |
| void | setErrorFileName (const String &file_name) override |
| Sets the error file name to file_name. | |
| void | setLogFileName (const String &file_name) override |
| Sets the log file name to file_name. | |
| void | setClassConfig (const String &name, const TraceClassConfig &config) override |
| Sets the configuration for the message class name. | |
| TraceClassConfig | classConfig (const String &name) const override |
| Configuration associated with the message class name. | |
| void | removeAllClassConfig () override |
| Removes all configuration classes set via setClassConfig(). | |
| void | setMaster (bool is_master) override |
| Sets the 'master' state of the instance. | |
| bool | isMaster () const override |
| void | setVerbosityLevel (Int32 level) override |
| Sets the verbosity level of the outputs. | |
| Int32 | verbosityLevel () const override |
| Message verbosity level. | |
| void | setStandardOutputVerbosityLevel (Int32 level) override |
| Sets the verbosity level of outputs on std::cout. | |
| Int32 | standardOutputVerbosityLevel () const override |
| Message verbosity level on std::cout. | |
| void | resetThreadStatus () override |
| void | writeDirect (const TraceMessage *msg, const String &str) override |
| Writes a message directly. | |
| void | setTraceId (const String &id) override |
| Sets the manager identifier. | |
| const String & | traceId () const override |
| Manager identifier. | |
| void | visitClassConfigs (IFunctorWithArgumentT< std::pair< String, TraceClassConfig > > *functor) override |
| Public Member Functions inherited from Arcane::ReferenceCounterImpl | |
| void | addReference () |
| void | removeReference () |
| void | _internalAddReference () |
| bool | _internalRemoveReference () |
| Public Member Functions inherited from Arcane::ITraceMng | |
| virtual ARCCORE_DEPRECATED_2018 bool | setActivated (bool v) |
| void | fatalMessage (const StandaloneTraceMessage &o) |
| Performs a fatal() on an already manufactured message. | |
Protected Member Functions | |
| TraceMessage | _log (bool print_date) |
| TraceMessage | _info () |
| TraceMessage | _info (Int32 verbose_level) |
| TraceMessage | _devNull () |
| TraceMessageDbg | _dbg () |
| TraceMessageDbg | _dbgDevNull () |
| bool | _isCurrentClassActivated () const |
| bool | _isCurrentClassParallelActivated () const |
| Trace::eDebugLevel | _configDbgLevel () const |
Private Types | |
| typedef std::set< ITraceMessageListener * > | ListenerList |
| typedef std::vector< TraceClass > | TraceClassStack |
Private Member Functions | |
| void | _writeTimeString (std::ostream &out) |
| TraceMngStreamList * | _getStreamList () const |
| std::ostream * | _getStream (Trace::eMessageType id) |
| bool | _sendToProxy2 (const TraceMessage *msg, Span< const Byte > str) |
| const TraceClassConfig * | _msgClassConfig (const String &s) const |
| String | _currentTraceClassName () const |
| void | _checkFlush () |
| void | _putStream (std::ostream &ostr, Span< const Byte > buffer) |
| void | _putTraceMessage (std::ostream &ostr, Trace::eMessageType id, Span< const Byte >) |
| void | _putDate (std::ostream &ostr) |
| std::ostream * | _errorStream () |
| std::ostream * | _logStream () |
| void | _write (std::ostream &output, Span< const Byte > input, bool do_flush=false) |
| void | _writeColor (std::ostream &output, Span< const Byte > input, int color, bool do_flush) |
| void | _writeListing (Span< const Byte > input, int level, int color, bool do_flush) |
| Writes the listing. | |
| void | _write (std::ostream *output, Span< const Byte > input, bool do_flush=false) |
| void | _writeStackTrace (std::ostream *output, const String &stack_trace) |
| void | _endTrace (const TraceMessage *msg) |
| void | _putFunctionName (std::ostream &out) |
| void | _writeDirect (const TraceMessage *msg, Span< const Byte > buf_array, Span< const Byte > orig_message) |
| void | _putTraceId (std::ostream &out) |
| void | _updateCurrentClassConfig () |
| void | _flushStream (ITraceStream *stream) |
| void | _writeSpan (std::ostream &o, Span< const Byte > text) |
| FileTraceStream * | _createFileStream (StringView file_name) |
Implementation of the trace manager.
Definition at line 212 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 449 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 450 of file arccore/src/trace/arccore/trace/TraceMng.cc.
| Arcane::TraceMng::TraceMng | ( | ) |
Definition at line 542 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overrideprotected |
Definition at line 554 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 698 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprotected |
Definition at line 417 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 622 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprivate |
Definition at line 504 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprotected |
Definition at line 393 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprotected |
Definition at line 394 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprotected |
Definition at line 379 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 1021 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 584 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 685 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprivate |
Definition at line 486 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprivate |
Definition at line 482 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprotected |
Definition at line 371 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprotected |
Definition at line 375 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprotected |
Definition at line 397 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprotected |
Definition at line 407 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprotected |
Definition at line 362 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 598 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineprivate |
Definition at line 496 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 668 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 723 of file arccore/src/trace/arccore/trace/TraceMng.cc.
Definition at line 1147 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 743 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 776 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 565 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 1157 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 933 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 944 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 861 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 1050 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Writes the listing.
The listing can output both to std::cout and to an ITraceStream if m_listing_stream is not null. The verbosity level can be different in both cases.
Definition at line 896 of file arccore/src/trace/arccore/trace/TraceMng.cc.
Definition at line 714 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 1132 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 755 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Adds observer v to this message manager.
The caller remains the owner of v and must remove it via removeListener() before destroying it.
Implements Arcane::ITraceMng.
Definition at line 1311 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Signals the start of writing message message.
Implements Arcane::ITraceMng.
Definition at line 955 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Configuration associated with the message class name.
Implements Arcane::ITraceMng.
Definition at line 1236 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Returns the dbg level of the configuration file.
Implements Arcane::ITraceMng.
Definition at line 333 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Stream for a debug message.
Implements Arcane::ITraceMng.
Definition at line 298 of file arccore/src/trace/arccore/trace/TraceMng.cc.
Referenced by putTrace().
|
inlineoverridevirtual |
Stream for an unused message.
Implements Arcane::ITraceMng.
Definition at line 294 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Signals the end of writing message message.
Implements Arcane::ITraceMng.
Definition at line 969 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Stream for an error message.
Implements Arcane::ITraceMng.
Definition at line 266 of file arccore/src/trace/arccore/trace/TraceMng.cc.
Referenced by perror(), and putTrace().
|
inlineoverridevirtual |
Stream for a fatal error message.
Implements Arcane::ITraceMng.
Definition at line 286 of file arccore/src/trace/arccore/trace/TraceMng.cc.
Referenced by putTrace().
|
overridevirtual |
Finishes the initialization of the trace manager.
Implements Arcane::ITraceMng.
Definition at line 1196 of file arccore/src/trace/arccore/trace/TraceMng.cc.
References Arcane::Platform::removeFile().
|
overridevirtual |
Flushes all streams.
Implements Arcane::ITraceMng.
Definition at line 612 of file arccore/src/trace/arccore/trace/TraceMng.cc.
Referenced by popTraceClass().
|
inlineoverridevirtual |
Stream for an information message.
Implements Arcane::ITraceMng.
Definition at line 234 of file arccore/src/trace/arccore/trace/TraceMng.cc.
Referenced by putTrace().
|
inlineoverridevirtual |
Stream for a conditional information message.
Implements Arcane::ITraceMng.
Definition at line 254 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Stream for an information message of a given category.
Implements Arcane::ITraceMng.
Definition at line 238 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Stream for an information message of a given level.
Implements Arcane::ITraceMng.
Definition at line 242 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Indicates if info message outputs are activated.
Implements Arcane::ITraceMng.
Definition at line 315 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Implements Arcane::ITraceMng.
Definition at line 343 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Stream for a log message.
Implements Arcane::ITraceMng.
Definition at line 274 of file arccore/src/trace/arccore/trace/TraceMng.cc.
Referenced by putTrace().
|
inlineoverridevirtual |
Stream for a log message preceded by the time.
Implements Arcane::ITraceMng.
Definition at line 282 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inline |
Definition at line 230 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Stream for a parallel error message.
Implements Arcane::ITraceMng.
Definition at line 270 of file arccore/src/trace/arccore/trace/TraceMng.cc.
References error().
|
inlineoverridevirtual |
Stream for a parallel fatal error message.
Implements Arcane::ITraceMng.
Definition at line 290 of file arccore/src/trace/arccore/trace/TraceMng.cc.
Referenced by putTrace().
|
inlineoverridevirtual |
Stream for a parallel information message.
Implements Arcane::ITraceMng.
Definition at line 246 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Stream for a parallel information message of a given category.
Implements Arcane::ITraceMng.
Definition at line 250 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Stream for a parallel log message.
Implements Arcane::ITraceMng.
Definition at line 278 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Removes the last message class from the stack. \threadsafe.
Implements Arcane::ITraceMng.
Definition at line 1180 of file arccore/src/trace/arccore/trace/TraceMng.cc.
References flush().
|
overridevirtual |
Adds class s to the stack of active message classes. \threadsafe.
Implements Arcane::ITraceMng.
Definition at line 1167 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Directly sends a message of type type.
type must correspond to Trace::eMessageType. This method should only be used by the .NET wrapping.
Implements Arcane::ITraceMng.
Definition at line 986 of file arccore/src/trace/arccore/trace/TraceMng.cc.
References debug(), error(), fatal(), info(), log(), Arcane::Trace::Medium, pfatal(), and warning().
|
inlineoverridevirtual |
Stream for a parallel warning message.
Implements Arcane::ITraceMng.
Definition at line 262 of file arccore/src/trace/arccore/trace/TraceMng.cc.
References warning().
|
overridevirtual |
Removes all configuration classes set via setClassConfig().
Implements Arcane::ITraceMng.
Definition at line 1246 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Removes observer v from this message manager.
Implements Arcane::ITraceMng.
Definition at line 1322 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Indicates that the thread manager has changed and that the structures managing multi-threading must be re-declared. Internal to Arccore, do not use.
Implements Arcane::ITraceMng.
Definition at line 1303 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Sets the configuration for the message class name.
Implements Arcane::ITraceMng.
Definition at line 1211 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Sets the error file name to file_name.
If an error file is already open, it is closed and a new one with this new file name will be created upon the next error.
If file_name is the null string, no error file is used.
Implements Arcane::ITraceMng.
Definition at line 638 of file arccore/src/trace/arccore/trace/TraceMng.cc.
References Arcane::String::null().
|
inlineoverridevirtual |
Modifies the activation state of info messages.
Implements Arcane::ITraceMng.
Definition at line 309 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Sets the log file name to file_name.
If a log file is already open, it is closed and a new one with this new file name will be created upon the next log.
If file_name is the null string, no log file is used.
Implements Arcane::ITraceMng.
Definition at line 653 of file arccore/src/trace/arccore/trace/TraceMng.cc.
References Arcane::String::null().
|
overridevirtual |
Sets the 'master' state of the instance.
Instances that have this attribute set to true display messages on std::cout as well as the messages perror() and pwarning(). It is therefore preferable that there be only one master ITraceMng instance.
Implements Arcane::ITraceMng.
Definition at line 1276 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Redirects all messages to the stream o.
Implements Arcane::ITraceMng.
Definition at line 328 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Redirects all messages to the stream o.
Implements Arcane::ITraceMng.
Definition at line 324 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Sets the verbosity level of outputs on std::cout.
This property is only used if isMaster() is true and if the listings outputs have been redirected. Otherwise, the property verbosityLevel() is used.
Implements Arcane::ITraceMng.
Definition at line 1294 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Sets the manager identifier.
If not null, the identifier is displayed in case of an error to identify the instance displaying the message. The identifier can be arbitrary. By default, it is the process rank and the machine name.
Implements Arcane::ITraceMng.
Definition at line 355 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
Sets the verbosity level of the outputs.
Messages at a level higher than this level are not outputted. The level used is the one given as an argument to info(Int32). The default level is the one given by TraceMessage::DEFAULT_LEVEL.
Implements Arcane::ITraceMng.
Definition at line 1285 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Message verbosity level on std::cout.
Implements Arcane::ITraceMng.
Definition at line 349 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Manager identifier.
Implements Arcane::ITraceMng.
Definition at line 356 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Message verbosity level.
Implements Arcane::ITraceMng.
Definition at line 346 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
overridevirtual |
\biref Applies the functor functor to all registered TraceClassConfig.
The first argument of the pair is the configuration class name and the second is its value as returned by classConfig().
It is permitted to modify the TraceClassConfig during visitation via a call to setClassConfig().
Implements Arcane::ITraceMng.
Definition at line 1263 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
inlineoverridevirtual |
Stream for a warning message.
Implements Arcane::ITraceMng.
Definition at line 258 of file arccore/src/trace/arccore/trace/TraceMng.cc.
Referenced by putTrace(), and pwarning().
|
overridevirtual |
Writes a message directly.
Directly writes message msg containing string buf_array. The message is not analyzed by the instance and is always written without any specific formatting. This operation should in principle only be used by an ITraceMessageListener. For other cases, standard traces must be used.
Implements Arcane::ITraceMng.
Definition at line 1122 of file arccore/src/trace/arccore/trace/TraceMng.cc.
References Arcane::String::bytes().
|
private |
Definition at line 458 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 457 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 465 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 464 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 463 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 471 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 468 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 476 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 474 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 460 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 475 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 452 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 459 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 466 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 472 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 469 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 467 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 456 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 461 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 462 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 470 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
mutableprivate |
Definition at line 473 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 477 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 455 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 453 of file arccore/src/trace/arccore/trace/TraceMng.cc.
|
private |
Definition at line 454 of file arccore/src/trace/arccore/trace/TraceMng.cc.