| The Gaudi Framework v32r1 (f65d50dc)

Classes | Public Member Functions | Private Attributes | List of all members
TBBMessageSvc Class Reference

`#include <src/MessageSvc/TBBMessageSvc.h>`

Inheritance diagram for TBBMessageSvc:
[legend]
Collaboration diagram for TBBMessageSvc:
[legend]

## Classes
class | MessageTaskCommon
| Common base class for the different reportMessage cases. More...
class | MessageWithLevel
| Specialized class to report a message with explicit output level. More...
class | MessageWithoutLevel
| Specialized class to report a message with implicit output level. More...
class | StatusCodeMessage
| Specialized class to report a StatusCode message. More...

## Public Member Functions
void | reportMessage (const Message &msg) override
| Implementation of IMessageSvc::reportMessage() More...
void | reportMessage (const Message &msg, int outputLevel) override
| Implementation of IMessageSvc::reportMessage() More...
void | reportMessage (const StatusCode &code, const std::string &source="") override
| Implementation of IMessageSvc::reportMessage() More...
| MessageSvc (const std::string &name, ISvcLocator *svcloc)
void | reportMessage (const Message &message) override
void | reportMessage (const Message &msg, int outputLevel) override
void | reportMessage (const StatusCode &code, const std::string &source="") override
void | reportMessage (const char *source, int type, const char *message) override
void | reportMessage (const std::string &source, int type, const std::string &message) override
Public Member Functions inherited from MessageSvc
| MessageSvc (const std::string &name, ISvcLocator *svcloc)
StatusCode | reinitialize () override
| Reinitialize Service. More...
StatusCode | initialize () override
| Initialize Service. More...
StatusCode | finalize () override
| Finalize Service. More...
void | reportMessage (const Message &message) override
void | reportMessage (const Message &msg, int outputLevel) override
void | reportMessage (const StatusCode &code, const std::string &source="") override
void | reportMessage (const char *source, int type, const char *message) override
void | reportMessage (const std::string &source, int type, const std::string &message) override
void | insertMessage (const StatusCode &code, const Message &message) override
void | eraseMessage () override
void | eraseMessage (const StatusCode &code) override
void | eraseMessage (const StatusCode &code, const Message &message) override
void | insertStream (int message_type, const std::string &name, std::ostream *stream) override
void | eraseStream () override
void | eraseStream (int message_type) override
void | eraseStream (int message_type, std::ostream *stream) override
void | eraseStream (std::ostream *stream) override
std::ostream * | defaultStream () const override
void | setDefaultStream (std::ostream *stream) override
int | outputLevel () const override
int | outputLevel (const std::string &source) const override
void | setOutputLevel (int new_level) override
void | setOutputLevel (const std::string &source, int new_level) override
bool | useColor () const override
std::string | getLogColor (int logLevel) const override
int | messageCount (MSG::Level logLevel) const override
void | incrInactiveCount (MSG::Level level, const std::string &src) override
Public Member Functions inherited from extends< Service, IMessageSvc, IInactiveMessageCounter >
void * | i_cast (const InterfaceID &tid) const override
| Implementation of IInterface::i_cast. More...
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override
| Implementation of IInterface::queryInterface. More...
std::vector< std::string > | getInterfaceNames () const override
| Implementation of IInterface::getInterfaceNames. More...
Public Member Functions inherited from Service
const std::string & | name () const override
| Retrieve name of the service. More...
StatusCode | configure () override
StatusCode | initialize () override
StatusCode | start () override
StatusCode | stop () override
StatusCode | finalize () override
StatusCode | terminate () override
Gaudi::StateMachine::State | FSMState () const override
Gaudi::StateMachine::State | targetFSMState () const override
StatusCode | reinitialize () override
StatusCode | restart () override
StatusCode | sysInitialize () override
| Initialize Service. More...
StatusCode | sysStart () override
| Initialize Service. More...
StatusCode | sysStop () override
| Initialize Service. More...
StatusCode | sysFinalize () override
| Finalize Service. More...
StatusCode | sysReinitialize () override
| Re-initialize the Service. More...
StatusCode | sysRestart () override
| Re-initialize the Service. More...
| Service (std::string name, ISvcLocator *svcloc)
| Standard Constructor. More...
SmartIF< ISvcLocator > & | serviceLocator () const override
| Retrieve pointer to service locator. More...
StatusCode | setProperties ()
| Method for setting declared properties to the values specified for the job. More...
template<class T >
StatusCode | service (const std::string &name, const T *&psvc, bool createIf=true) const
| Access a service by name, creating it if it doesn't already exist. More...
template<class T >
StatusCode | service (const std::string &name, T *&psvc, bool createIf=true) const
template<typename IFace = IService>
SmartIF< IFace > | service (const std::string &name, bool createIf=true) const
template<class T >
StatusCode | service (const std::string &svcType, const std::string &svcName, T *&psvc) const
| Access a service by name and type, creating it if it doesn't already exist. More...
template<class T >
StatusCode | declareTool (ToolHandle< T > &handle, std::string toolTypeAndName, bool createIf=true)
| Declare used tool. More...
SmartIF< IAuditorSvc > & | auditorSvc () const
| The standard auditor service.May not be invoked before sysInitialize() has been invoked. More...
Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
| PropertyHolder ()=default
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Details::PropertyBase &prop)
| Declare a property. More...
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none")
| Helper to wrap a regular data member and use it as a regular property. More...
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none")
| Declare a PropertyBase instance setting name and documentation. More...
Gaudi::Details::PropertyBase * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="")
| Declare a remote property. More...
StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) override
| set the property form another property More...
StatusCode | setProperty (const std::string &s) override
| set the property from the formatted string More...
StatusCode | setProperty (const std::string &n, const std::string &v) override
| set the property from name and the value More...
StatusCode | setProperty (const std::string &name, const TYPE &value)
| set the property form the value More...
StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override
| get the property More...
const Gaudi::Details::PropertyBase & | getProperty (const std::string &name) const override
| get the property by name More...
StatusCode | getProperty (const std::string &n, std::string &v) const override
| convert the property to the string More...
const std::vector< Gaudi::Details::PropertyBase * > & | getProperties () const override
| get all properties More...
bool | hasProperty (const std::string &name) const override
| Return true if we have a property with the given name. More...
| PropertyHolder (const PropertyHolder &)=delete
PropertyHolder & | operator= (const PropertyHolder &)=delete
Public Member Functions inherited from CommonMessaging< implements< IService, IProperty, IStateful > >
MSG::Level | msgLevel () const
| get the cached level (originally extracted from the embedded MsgStream) More...
bool | msgLevel (MSG::Level lvl) const
| get the output level from the embedded MsgStream More...
MSG::Level | outputLevel () const
| Backward compatibility function for getting the output level. More...
Public Member Functions inherited from CommonMessagingBase
virtual | ~CommonMessagingBase ()=default
| Virtual destructor. More...
const SmartIF< IMessageSvc > & | msgSvc () const
| The standard message service. More...
MsgStream & | msgStream () const
| Return an uninitialized MsgStream. More...
MsgStream & | msgStream (const MSG::Level level) const
| Predefined configurable message stream for the efficient printouts. More...
MsgStream & | always () const
| shortcut for the method msgStream(MSG::ALWAYS) More...
MsgStream & | fatal () const
| shortcut for the method msgStream(MSG::FATAL) More...
MsgStream & | err () const
| shortcut for the method msgStream(MSG::ERROR) More...
MsgStream & | error () const
| shortcut for the method msgStream(MSG::ERROR) More...
MsgStream & | warning () const
| shortcut for the method msgStream(MSG::WARNING) More...
MsgStream & | info () const
| shortcut for the method msgStream(MSG::INFO) More...
MsgStream & | debug () const
| shortcut for the method msgStream(MSG::DEBUG) More...
MsgStream & | verbose () const
| shortcut for the method msgStream(MSG::VERBOSE) More...
MsgStream & | msg () const
| shortcut for the method msgStream(MSG::INFO) More...

## Private Attributes
Gaudi::SerialTaskQueue | m_messageQueue

## Additional Inherited Members
Public Types inherited from MessageSvc
typedef std::pair< std::string, std::ostream * > | NamedStream
typedef std::multimap< int, NamedStream > | StreamMap
typedef std::multimap< StatusCode, Message > | MessageMap
typedef std::map< std::string, int > | ThresholdMap
Public Types inherited from extends< Service, IMessageSvc, IInactiveMessageCounter >
using | base_class = extends
| Typedef to this class. More...
using | extend_interfaces_base = extend_interfaces< Interfaces... >
| Typedef to the base of this class. More...
Public Types inherited from Service
using | Factory = Gaudi::PluginService::Factory< IService *(const std::string &, ISvcLocator *)>
Public Types inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
using | PropertyHolderImpl = PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
| Typedef used to refer to this class from derived classes, as in. More...
Public Types inherited from CommonMessaging< implements< IService, IProperty, IStateful > >
using | base_class = CommonMessaging
Public Types inherited from extend_interfaces< Interfaces... >
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type
| take union of the ext_iids of all Interfaces... More...
Protected Member Functions inherited from MessageSvc
virtual void | i_reportMessage (const Message &msg, int outputLevel)
| Internal implementation of reportMessage(const Message&,int) without lock. More...
virtual void | i_reportMessage (const StatusCode &code, const std::string &source)
| Internal implementation of reportMessage(const StatusCode&,const std::string&) without lock. More...
Protected Member Functions inherited from Service
| ~Service () override
| Standard Destructor. More...
int | outputLevel () const
| get the `Service's` output level More...
Protected Member Functions inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
Gaudi::Details::PropertyBase * | property (const std::string &name) const
Protected Member Functions inherited from CommonMessaging< implements< IService, IProperty, IStateful > >
MSG::Level | setUpMessaging () const
| Set up local caches. More...
MSG::Level | resetMessaging ()
| Reinitialize internal states. More...
void | updateMsgStreamOutputLevel (int level)
| Update the output level of the cached MsgStream. More...
Protected Attributes inherited from Service
Gaudi::StateMachine::State | m_state = Gaudi::StateMachine::OFFLINE
| Service state. More...
Gaudi::StateMachine::State | m_targetState = Gaudi::StateMachine::OFFLINE
| Service state. More...
Gaudi::Property< int > | m_outputLevel {this, "OutputLevel", MSG::NIL, "output level"}
Gaudi::Property< bool > | m_auditInit {this, "AuditServices", false, " unused"}
Gaudi::Property< bool > | m_auditorInitialize {this, "AuditInitialize", false, "trigger auditor on initialize()"}
Gaudi::Property< bool > | m_auditorStart {this, "AuditStart", false, "trigger auditor on start()"}
Gaudi::Property< bool > | m_auditorStop {this, "AuditStop", false, "trigger auditor on stop()"}
Gaudi::Property< bool > | m_auditorFinalize {this, "AuditFinalize", false, "trigger auditor on finalize()"}
Gaudi::Property< bool > | m_auditorReinitialize {this, "AuditReinitialize", false, "trigger auditor on reinitialize()"}
Gaudi::Property< bool > | m_auditorRestart {this, "AuditRestart", false, "trigger auditor on restart()"}
SmartIF< IAuditorSvc > | m_pAuditorSvc
| Auditor Service. More...

## Detailed Description

Definition at line 20 of file TBBMessageSvc.h.

## Member Function Documentation

## ◆ MessageSvc()

MessageSvc::MessageSvc

Definition at line 78 of file MessageSvc.cpp.

78 : base_class( name, svcloc ) {
79
80 m_outputLevel.declareUpdateHandler( [svcloc]( Gaudi::Details::PropertyBase& ) {
81 SmartIF<IAppMgrUI> app = svcloc;
82 if ( app ) app->outputLevelUpdate();
83 } );
84
85 #ifndef NDEBUG
86 // initialize the MsgStream static flag.
87 MsgStream::enableCountInactive( m_inactCount );
88 #endif
89
90 for ( int ic = 0; ic < MSG::NUM_LEVELS; ++ic ) {
91 m_logColors[ic].declareUpdateHandler( &MessageSvc::setupColors, this );
92 m_msgLimit[ic].declareUpdateHandler( &MessageSvc::setupLimits, this );
93 m_thresholdProp[ic].declareUpdateHandler( &MessageSvc::setupThreshold, this );
94 }
95
96 m_logColors[MSG::FATAL].set( {"blue", "red"} );
97 m_logColors[MSG::ERROR].set( {"white", "red"} );
98 m_logColors[MSG::WARNING].set( {"yellow"} );
99
100 std::fill( std::begin( m_msgCount ), std::end( m_msgCount ), 0 );
101 }
Service::m_outputLevel
Gaudi::Property< int > m_outputLevel
Definition: Service.h:176
SmartIF< IAppMgrUI >
std::end
T end(T... args)
extends< Service, IMessageSvc, IInactiveMessageCounter >::base_class
extends base_class
Typedef to this class.
Definition: extends.h:14
MessageSvc::setupColors
void setupColors(Gaudi::Details::PropertyBase &prop)
Definition: MessageSvc.cpp:133
IAppMgrUI::outputLevelUpdate
virtual void outputLevelUpdate()=0
Function to call to update the outputLevel of the components (after a change in MessageSvc).
MSG::FATAL
Definition: IMessageSvc.h:15
MessageSvc::m_inactCount
Gaudi::Property< bool > m_inactCount
Definition: MessageSvc.h:165
Service::name
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274
MessageSvc::m_logColors
std::array< Gaudi::Property< std::vector< std::string > >, MSG::NUM_LEVELS > m_logColors
Definition: MessageSvc.h:146
Gaudi::Details::PropertyBase
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Definition: Property.h:32
std::begin
T begin(T... args)
MSG::NUM_LEVELS
Definition: IMessageSvc.h:15
MSG::ERROR
Definition: IMessageSvc.h:15
MessageSvc::setupLimits
void setupLimits(Gaudi::Details::PropertyBase &prop)
Definition: MessageSvc.cpp:175
MessageSvc::setupThreshold
void setupThreshold(Gaudi::Details::PropertyBase &prop)
Definition: MessageSvc.cpp:195
MessageSvc::m_msgCount
std::array< int, MSG::NUM_LEVELS > m_msgCount
Definition: MessageSvc.h:194
MessageSvc::m_thresholdProp
std::array< Gaudi::Property< std::vector< std::string > >, MSG::NUM_LEVELS > m_thresholdProp
Definition: MessageSvc.h:135
MSG::WARNING
Definition: IMessageSvc.h:15
std::fill
T fill(T... args)
MessageSvc::m_msgLimit
std::array< Gaudi::Property< int >, MSG::NUM_LEVELS > m_msgLimit
Definition: MessageSvc.h:155
MsgStream::enableCountInactive
static GAUDI_API bool enableCountInactive(bool value=true)
Enable/disable the count of inactive messages.
Definition: MsgStream.cpp:31

## ◆ reportMessage() [1/8]

void MessageSvc::reportMessage
| override

Definition at line 427 of file MessageSvc.cpp.

427 {
428 reportMessage( Message{source, type, message} );
429 }
TBBMessageSvc::reportMessage
void reportMessage(const Message &msg) override
Implementation of IMessageSvc::reportMessage()
Definition: TBBMessageSvc.cpp:14
gaudirun.type
type
Definition: gaudirun.py:142
Message
The Message class.
Definition: Message.h:17

## ◆ reportMessage() [2/8]

void MessageSvc::reportMessage
| override

Definition at line 409 of file MessageSvc.cpp.

409 { reportMessage( msg, outputLevel( msg.getSource() ) ); }
TBBMessageSvc::reportMessage
void reportMessage(const Message &msg) override
Implementation of IMessageSvc::reportMessage()
Definition: TBBMessageSvc.cpp:14
CommonMessagingBase::msg
MsgStream & msg() const
shortcut for the method msgStream(MSG::INFO)
Definition: CommonMessaging.h:113
MessageSvc::outputLevel
int outputLevel() const override
Definition: MessageSvc.cpp:566

## ◆ reportMessage() [3/8]

void MessageSvc::reportMessage
| override

Definition at line 437 of file MessageSvc.cpp.

437 {
438 std::unique_lock<std::recursive_mutex> lock( m_messageMapMutex );
439 i_reportMessage( code, source );
440 }
MessageSvc::i_reportMessage
virtual void i_reportMessage(const Message &msg, int outputLevel)
Internal implementation of reportMessage(const Message&,int) without lock.
Definition: MessageSvc.cpp:356
MessageSvc::m_messageMapMutex
std::recursive_mutex m_messageMapMutex
Mutex to synchronize multiple access to m_messageMap.
Definition: MessageSvc.h:212
std::lock
T lock(T... args)
std::unique_lock

## ◆ reportMessage() [4/8]

void MessageSvc::reportMessage
| override

Definition at line 417 of file MessageSvc.cpp.

417 {
418 reportMessage( Message{source, type, message} );
419 }
TBBMessageSvc::reportMessage
void reportMessage(const Message &msg) override
Implementation of IMessageSvc::reportMessage()
Definition: TBBMessageSvc.cpp:14
gaudirun.type
type
Definition: gaudirun.py:142
Message
The Message class.
Definition: Message.h:17

## ◆ reportMessage() [5/8]

void MessageSvc::reportMessage
| override

Definition at line 351 of file MessageSvc.cpp.

351 {
352 std::unique_lock<std::recursive_mutex> lock( m_reportMutex );
353 i_reportMessage( msg, outputLevel );
354 }
MessageSvc::i_reportMessage
virtual void i_reportMessage(const Message &msg, int outputLevel)
Internal implementation of reportMessage(const Message&,int) without lock.
Definition: MessageSvc.cpp:356
std::lock
T lock(T... args)
MessageSvc::m_reportMutex
std::recursive_mutex m_reportMutex
Mutex to synchronize multiple threads printing.
Definition: MessageSvc.h:209
std::unique_lock
CommonMessagingBase::msg
MsgStream & msg() const
shortcut for the method msgStream(MSG::INFO)
Definition: CommonMessaging.h:113
MessageSvc::outputLevel
int outputLevel() const override
Definition: MessageSvc.cpp:566

## ◆ reportMessage() [6/8]

void TBBMessageSvc::reportMessage | ( | const Message & | msg | ) |
| override

Implementation of IMessageSvc::reportMessage()

Definition at line 14 of file TBBMessageSvc.cpp.

14 { m_messageQueue.add( new MessageWithoutLevel( *this, msg ) ); }
TBBMessageSvc::m_messageQueue
Gaudi::SerialTaskQueue m_messageQueue
Definition: TBBMessageSvc.h:86
CommonMessagingBase::msg
MsgStream & msg() const
shortcut for the method msgStream(MSG::INFO)
Definition: CommonMessaging.h:113
Gaudi::SerialTaskQueue::add
void add(WorkItem *item)
Enqueue a WorkItem for execution.
Definition: SerialTaskQueue.cpp:18

## ◆ reportMessage() [7/8]

void TBBMessageSvc::reportMessage | ( | const Message & | msg,
|  | int | outputLevel
| ) |  |
| override

Implementation of IMessageSvc::reportMessage()

Definition at line 10 of file TBBMessageSvc.cpp.

10 {
11 m_messageQueue.add( new MessageWithLevel( *this, msg, outputLevel ) );
12 }
TBBMessageSvc::m_messageQueue
Gaudi::SerialTaskQueue m_messageQueue
Definition: TBBMessageSvc.h:86
CommonMessagingBase::msg
MsgStream & msg() const
shortcut for the method msgStream(MSG::INFO)
Definition: CommonMessaging.h:113
Gaudi::SerialTaskQueue::add
void add(WorkItem *item)
Enqueue a WorkItem for execution.
Definition: SerialTaskQueue.cpp:18
MessageSvc::outputLevel
int outputLevel() const override
Definition: MessageSvc.cpp:566

## ◆ reportMessage() [8/8]

void TBBMessageSvc::reportMessage | ( | const StatusCode & | code,
|  | const std::string & | source = `""`
| ) |  |
| override

Implementation of IMessageSvc::reportMessage()

Definition at line 16 of file TBBMessageSvc.cpp.

16 {
17 m_messageQueue.add( new StatusCodeMessage( *this, code, source ) );
18 }
TBBMessageSvc::m_messageQueue
Gaudi::SerialTaskQueue m_messageQueue
Definition: TBBMessageSvc.h:86
Gaudi::SerialTaskQueue::add
void add(WorkItem *item)
Enqueue a WorkItem for execution.
Definition: SerialTaskQueue.cpp:18

## Member Data Documentation

## ◆ m_messageQueue

Gaudi::SerialTaskQueue TBBMessageSvc::m_messageQueue
| private

Definition at line 86 of file TBBMessageSvc.h.

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

- GaudiCoreSvc/src/MessageSvc/TBBMessageSvc.h
- GaudiCoreSvc/src/MessageSvc/TBBMessageSvc.cpp