Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::TraceMng Class Reference

Implementation of the trace manager. More...

Inheritance diagram for Arcane::TraceMng:
Collaboration diagram for Arcane::TraceMng:

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 StringtraceId () 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< TraceClassTraceClassStack

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)

Private Attributes

bool m_is_master = true
bool m_want_trace_function = false
bool m_want_trace_timer = false
Int32 m_verbosity_level = TraceMessage::DEFAULT_LEVEL
Int32 m_stdout_verbosity_level = TraceMessage::DEFAULT_LEVEL
std::atomic< Int32m_current_class_verbosity_level = TraceMessage::DEFAULT_LEVEL
std::atomic< Int32m_current_class_flags = Trace::PF_Default
ListenerList * m_listeners = nullptr
bool m_is_info_activated = true
std::map< String, TraceClassConfig * > m_trace_class_config_map
TraceClassStack m_trace_class_stack
TraceClassConfig m_default_trace_class_config
TraceClass m_default_trace_class
TraceClass m_current_msg_class
ReferenceCounter< ITraceStreamm_listing_stream
std::atomic< Int64m_nb_flush = 0
String m_error_file_name
String m_log_file_name
String m_trace_id
ReferenceCounter< ITraceStreamm_error_file
ReferenceCounter< ITraceStreamm_log_file
std::mutex m_trace_mutex
bool m_is_error_disabled = false
bool m_is_log_disabled = false
bool m_has_color = false
TraceTimer m_trace_timer

Detailed Description

Implementation of the trace manager.

Definition at line 212 of file arccore/src/trace/arccore/trace/TraceMng.cc.

Member Typedef Documentation

◆ ListenerList

typedef std::set<ITraceMessageListener*> Arcane::TraceMng::ListenerList
private

Definition at line 449 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ TraceClassStack

typedef std::vector<TraceClass> Arcane::TraceMng::TraceClassStack
private

Definition at line 450 of file arccore/src/trace/arccore/trace/TraceMng.cc.

Constructor & Destructor Documentation

◆ TraceMng()

Arcane::TraceMng::TraceMng ( )

Definition at line 542 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ ~TraceMng()

Arcane::TraceMng::~TraceMng ( )
overrideprotected

Definition at line 554 of file arccore/src/trace/arccore/trace/TraceMng.cc.

Member Function Documentation

◆ _checkFlush()

void Arcane::TraceMng::_checkFlush ( )
private

Definition at line 698 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _configDbgLevel()

Trace::eDebugLevel Arcane::TraceMng::_configDbgLevel ( ) const
inlineprotected

Definition at line 417 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _createFileStream()

FileTraceStream * Arcane::TraceMng::_createFileStream ( Arccore::StringView file_name)
private

Definition at line 622 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _currentTraceClassName()

String Arcane::TraceMng::_currentTraceClassName ( ) const
inlineprivate

Definition at line 504 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _dbg()

TraceMessageDbg Arcane::TraceMng::_dbg ( )
inlineprotected

Definition at line 393 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _dbgDevNull()

TraceMessageDbg Arcane::TraceMng::_dbgDevNull ( )
inlineprotected

Definition at line 394 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _devNull()

TraceMessage Arcane::TraceMng::_devNull ( )
inlineprotected

Definition at line 379 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _endTrace()

void Arcane::TraceMng::_endTrace ( const TraceMessage * msg)
private

◆ _errorStream()

std::ostream * Arcane::TraceMng::_errorStream ( )
private

Definition at line 584 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _flushStream()

void Arcane::TraceMng::_flushStream ( ITraceStream * stream)
private

Definition at line 685 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _getStream()

std::ostream * Arcane::TraceMng::_getStream ( Trace::eMessageType id)
inlineprivate

Definition at line 486 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _getStreamList()

TraceMngStreamList * Arcane::TraceMng::_getStreamList ( ) const
inlineprivate

Definition at line 482 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _info() [1/2]

TraceMessage Arcane::TraceMng::_info ( )
inlineprotected

Definition at line 371 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _info() [2/2]

TraceMessage Arcane::TraceMng::_info ( Int32 verbose_level)
inlineprotected

Definition at line 375 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _isCurrentClassActivated()

bool Arcane::TraceMng::_isCurrentClassActivated ( ) const
inlineprotected

Definition at line 397 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _isCurrentClassParallelActivated()

bool Arcane::TraceMng::_isCurrentClassParallelActivated ( ) const
inlineprotected

Definition at line 407 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _log()

TraceMessage Arcane::TraceMng::_log ( bool print_date)
inlineprotected

Definition at line 362 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _logStream()

std::ostream * Arcane::TraceMng::_logStream ( )
private

Definition at line 598 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _msgClassConfig()

const TraceClassConfig * Arcane::TraceMng::_msgClassConfig ( const String & s) const
inlineprivate

Definition at line 496 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _putDate()

void Arcane::TraceMng::_putDate ( std::ostream & ostr)
private

Definition at line 668 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _putFunctionName()

void Arcane::TraceMng::_putFunctionName ( std::ostream & out)
private

Definition at line 723 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _putStream()

void Arcane::TraceMng::_putStream ( std::ostream & ostr,
Span< const Byte > buffer )
private

◆ _putTraceId()

void Arcane::TraceMng::_putTraceId ( std::ostream & out)
private

Definition at line 743 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _putTraceMessage()

void Arcane::TraceMng::_putTraceMessage ( std::ostream & ostr,
Trace::eMessageType id,
Span< const Byte > msg_str )
private

Definition at line 776 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _sendToProxy2()

bool Arcane::TraceMng::_sendToProxy2 ( const TraceMessage * msg,
Span< const Byte > str )
private

Definition at line 565 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _updateCurrentClassConfig()

void Arcane::TraceMng::_updateCurrentClassConfig ( )
private

◆ _write() [1/2]

void Arcane::TraceMng::_write ( std::ostream & output,
Span< const Byte > input,
bool do_flush = false )
private

Definition at line 933 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _write() [2/2]

void Arcane::TraceMng::_write ( std::ostream * output,
Span< const Byte > input,
bool do_flush = false )
private

Definition at line 944 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _writeColor()

void Arcane::TraceMng::_writeColor ( std::ostream & output,
Span< const Byte > input,
int color,
bool do_flush )
private

Definition at line 861 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _writeDirect()

void Arcane::TraceMng::_writeDirect ( const TraceMessage * msg,
Span< const Byte > buf_array,
Span< const Byte > orig_message )
private

◆ _writeListing()

void Arcane::TraceMng::_writeListing ( Span< const Byte > input,
int level,
int color,
bool do_flush )
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.

◆ _writeSpan()

void Arcane::TraceMng::_writeSpan ( std::ostream & o,
Span< const Byte > text )
private

Definition at line 714 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ _writeStackTrace()

void Arcane::TraceMng::_writeStackTrace ( std::ostream * output,
const String & stack_trace )
private

◆ _writeTimeString()

void Arcane::TraceMng::_writeTimeString ( std::ostream & out)
private

Definition at line 755 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ addListener()

void Arcane::TraceMng::addListener ( ITraceMessageListener * v)
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.

◆ beginTrace()

void Arcane::TraceMng::beginTrace ( const TraceMessage * message)
overridevirtual

Signals the start of writing message message.

Implements Arcane::ITraceMng.

Definition at line 955 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ classConfig()

TraceClassConfig Arcane::TraceMng::classConfig ( const String & name) const
overridevirtual

Configuration associated with the message class name.

Implements Arcane::ITraceMng.

Definition at line 1236 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ configDbgLevel()

Trace::eDebugLevel Arcane::TraceMng::configDbgLevel ( ) const
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.

◆ debug()

TraceMessageDbg Arcane::TraceMng::debug ( Trace::eDebugLevel )
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().

Here is the caller graph for this function:

◆ devNull()

TraceMessage Arcane::TraceMng::devNull ( )
inlineoverridevirtual

Stream for an unused message.

Implements Arcane::ITraceMng.

Definition at line 294 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ endTrace()

void Arcane::TraceMng::endTrace ( const TraceMessage * message)
overridevirtual

Signals the end of writing message message.

Implements Arcane::ITraceMng.

Definition at line 969 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ error()

TraceMessage Arcane::TraceMng::error ( )
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().

Here is the caller graph for this function:

◆ fatal()

TraceMessage Arcane::TraceMng::fatal ( )
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().

Here is the caller graph for this function:

◆ finishInitialize()

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

Here is the call graph for this function:

◆ flush()

void Arcane::TraceMng::flush ( )
overridevirtual

Flushes all streams.

Implements Arcane::ITraceMng.

Definition at line 612 of file arccore/src/trace/arccore/trace/TraceMng.cc.

Referenced by popTraceClass().

Here is the caller graph for this function:

◆ info() [1/4]

TraceMessage Arcane::TraceMng::info ( )
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().

Here is the caller graph for this function:

◆ info() [2/4]

TraceMessage Arcane::TraceMng::info ( bool )
inlineoverridevirtual

Stream for a conditional information message.

Implements Arcane::ITraceMng.

Definition at line 254 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ info() [3/4]

TraceMessage Arcane::TraceMng::info ( char category)
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.

◆ info() [4/4]

TraceMessage Arcane::TraceMng::info ( Int32 level)
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.

◆ isInfoActivated()

bool Arcane::TraceMng::isInfoActivated ( ) const
inlineoverridevirtual

Indicates if info message outputs are activated.

Implements Arcane::ITraceMng.

Definition at line 315 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ isMaster()

bool Arcane::TraceMng::isMaster ( ) const
inlineoverridevirtual

Implements Arcane::ITraceMng.

Definition at line 343 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ log()

TraceMessage Arcane::TraceMng::log ( )
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().

Here is the caller graph for this function:

◆ logdate()

TraceMessage Arcane::TraceMng::logdate ( )
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.

◆ operator()()

TraceMessage Arcane::TraceMng::operator() ( )
inline

Definition at line 230 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ perror()

TraceMessage Arcane::TraceMng::perror ( )
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().

Here is the call graph for this function:

◆ pfatal()

TraceMessage Arcane::TraceMng::pfatal ( )
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().

Here is the caller graph for this function:

◆ pinfo() [1/2]

TraceMessage Arcane::TraceMng::pinfo ( )
inlineoverridevirtual

Stream for a parallel information message.

Implements Arcane::ITraceMng.

Definition at line 246 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ pinfo() [2/2]

TraceMessage Arcane::TraceMng::pinfo ( char category)
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.

◆ plog()

TraceMessage Arcane::TraceMng::plog ( )
inlineoverridevirtual

Stream for a parallel log message.

Implements Arcane::ITraceMng.

Definition at line 278 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ popTraceClass()

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

Here is the call graph for this function:

◆ pushTraceClass()

void Arcane::TraceMng::pushTraceClass ( const String & name)
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.

◆ putTrace()

void Arcane::TraceMng::putTrace ( const String & message,
int type )
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().

Here is the call graph for this function:

◆ pwarning()

TraceMessage Arcane::TraceMng::pwarning ( )
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().

Here is the call graph for this function:

◆ removeAllClassConfig()

void Arcane::TraceMng::removeAllClassConfig ( )
overridevirtual

Removes all configuration classes set via setClassConfig().

Implements Arcane::ITraceMng.

Definition at line 1246 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ removeListener()

void Arcane::TraceMng::removeListener ( ITraceMessageListener * v)
overridevirtual

Removes observer v from this message manager.

Implements Arcane::ITraceMng.

Definition at line 1322 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ resetThreadStatus()

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

◆ setClassConfig()

void Arcane::TraceMng::setClassConfig ( const String & name,
const TraceClassConfig & config )
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.

◆ setErrorFileName()

void Arcane::TraceMng::setErrorFileName ( const String & file_name)
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().

Here is the call graph for this function:

◆ setInfoActivated()

bool Arcane::TraceMng::setInfoActivated ( bool v)
inlineoverridevirtual

Modifies the activation state of info messages.

Returns
the previous activation state.

Implements Arcane::ITraceMng.

Definition at line 309 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ setLogFileName()

void Arcane::TraceMng::setLogFileName ( const String & file_name)
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().

Here is the call graph for this function:

◆ setMaster()

void Arcane::TraceMng::setMaster ( bool is_master)
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.

◆ setRedirectStream() [1/2]

void Arcane::TraceMng::setRedirectStream ( ITraceStream * o)
inlineoverridevirtual

Redirects all messages to the stream o.

Implements Arcane::ITraceMng.

Definition at line 328 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ setRedirectStream() [2/2]

void Arcane::TraceMng::setRedirectStream ( std::ostream * o)
inlineoverridevirtual

Redirects all messages to the stream o.

Deprecated
Use the setRedirectStream(ITraceStream*) overload.

Implements Arcane::ITraceMng.

Definition at line 324 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ setStandardOutputVerbosityLevel()

void Arcane::TraceMng::setStandardOutputVerbosityLevel ( Int32 level)
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.

◆ setTraceId()

void Arcane::TraceMng::setTraceId ( const String & id)
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.

◆ setVerbosityLevel()

void Arcane::TraceMng::setVerbosityLevel ( Int32 level)
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.

◆ standardOutputVerbosityLevel()

Int32 Arcane::TraceMng::standardOutputVerbosityLevel ( ) const
inlineoverridevirtual

Message verbosity level on std::cout.

Implements Arcane::ITraceMng.

Definition at line 349 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ traceId()

const String & Arcane::TraceMng::traceId ( ) const
inlineoverridevirtual

Manager identifier.

Implements Arcane::ITraceMng.

Definition at line 356 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ verbosityLevel()

Int32 Arcane::TraceMng::verbosityLevel ( ) const
inlineoverridevirtual

Message verbosity level.

Implements Arcane::ITraceMng.

Definition at line 346 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ visitClassConfigs()

void Arcane::TraceMng::visitClassConfigs ( IFunctorWithArgumentT< std::pair< String, TraceClassConfig > > * functor)
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.

◆ warning()

TraceMessage Arcane::TraceMng::warning ( )
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().

Here is the caller graph for this function:

◆ writeDirect()

void Arcane::TraceMng::writeDirect ( const TraceMessage * msg,
const String & str )
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().

Here is the call graph for this function:

Member Data Documentation

◆ m_current_class_flags

std::atomic<Int32> Arcane::TraceMng::m_current_class_flags = Trace::PF_Default
private

Definition at line 458 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_current_class_verbosity_level

std::atomic<Int32> Arcane::TraceMng::m_current_class_verbosity_level = TraceMessage::DEFAULT_LEVEL
private

Definition at line 457 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_current_msg_class

TraceClass Arcane::TraceMng::m_current_msg_class
private

Definition at line 465 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_default_trace_class

TraceClass Arcane::TraceMng::m_default_trace_class
private

Definition at line 464 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_default_trace_class_config

TraceClassConfig Arcane::TraceMng::m_default_trace_class_config
private

Definition at line 463 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_error_file

ReferenceCounter<ITraceStream> Arcane::TraceMng::m_error_file
private

Definition at line 471 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_error_file_name

String Arcane::TraceMng::m_error_file_name
private

Definition at line 468 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_has_color

bool Arcane::TraceMng::m_has_color = false
private

Definition at line 476 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_is_error_disabled

bool Arcane::TraceMng::m_is_error_disabled = false
private

Definition at line 474 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_is_info_activated

bool Arcane::TraceMng::m_is_info_activated = true
private

Definition at line 460 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_is_log_disabled

bool Arcane::TraceMng::m_is_log_disabled = false
private

Definition at line 475 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_is_master

bool Arcane::TraceMng::m_is_master = true
private

Definition at line 452 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_listeners

ListenerList* Arcane::TraceMng::m_listeners = nullptr
private

Definition at line 459 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_listing_stream

ReferenceCounter<ITraceStream> Arcane::TraceMng::m_listing_stream
private

Definition at line 466 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_log_file

ReferenceCounter<ITraceStream> Arcane::TraceMng::m_log_file
private

Definition at line 472 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_log_file_name

String Arcane::TraceMng::m_log_file_name
private

Definition at line 469 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_nb_flush

std::atomic<Int64> Arcane::TraceMng::m_nb_flush = 0
private

Definition at line 467 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_stdout_verbosity_level

Int32 Arcane::TraceMng::m_stdout_verbosity_level = TraceMessage::DEFAULT_LEVEL
private

Definition at line 456 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_trace_class_config_map

std::map<String, TraceClassConfig*> Arcane::TraceMng::m_trace_class_config_map
private

Definition at line 461 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_trace_class_stack

TraceClassStack Arcane::TraceMng::m_trace_class_stack
private

Definition at line 462 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_trace_id

String Arcane::TraceMng::m_trace_id
private

Definition at line 470 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_trace_mutex

std::mutex Arcane::TraceMng::m_trace_mutex
mutableprivate

Definition at line 473 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_trace_timer

TraceTimer Arcane::TraceMng::m_trace_timer
private

Definition at line 477 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_verbosity_level

Int32 Arcane::TraceMng::m_verbosity_level = TraceMessage::DEFAULT_LEVEL
private

Definition at line 455 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_want_trace_function

bool Arcane::TraceMng::m_want_trace_function = false
private

Definition at line 453 of file arccore/src/trace/arccore/trace/TraceMng.cc.

◆ m_want_trace_timer

bool Arcane::TraceMng::m_want_trace_timer = false
private

Definition at line 454 of file arccore/src/trace/arccore/trace/TraceMng.cc.


The documentation for this class was generated from the following file: