The Gaudi Framework  v29r5 (37229091)
CommonMessaging< BASE > Class Template Reference

#include <GaudiKernel/CommonMessaging.h>

Inheritance diagram for CommonMessaging< BASE >:
Collaboration diagram for CommonMessaging< BASE >:

Public Types

using base_class = CommonMessaging
 

Protected Member Functions

MSG::Level setUpMessaging ()
 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...
 

Private Member Functions

void create_msgStream () const override final
 cold functionality More...
 

Additional Inherited Members

- Public Member Functions inherited from CommonMessagingBase
virtual ~CommonMessagingBase ()=default
 Virtual destructor. More...
 
const SmartIF< IMessageSvc > & msgSvc () const
 The standard message service. More...
 
MsgStreammsgStream () const
 Return an uninitialized MsgStream. More...
 
MsgStreammsgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts. More...
 
MsgStreamalways () const
 shortcut for the method msgStream(MSG::ALWAYS) More...
 
MsgStreamfatal () const
 shortcut for the method msgStream(MSG::FATAL) More...
 
MsgStreamerr () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamerror () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamwarning () const
 shortcut for the method msgStream(MSG::WARNING) More...
 
MsgStreaminfo () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MsgStreamdebug () const
 shortcut for the method msgStream(MSG::DEBUG) More...
 
MsgStreamverbose () const
 shortcut for the method msgStream(MSG::VERBOSE) More...
 
MsgStreammsg () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MSG::Level msgLevel () const
 get the cached level (originally extracted from the embedded MsgStream) More...
 
MSG::Level outputLevel () const __attribute__((deprecated))
 Backward compatibility function for getting the output level. More...
 
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream More...
 

Detailed Description

template<typename BASE>
class CommonMessaging< BASE >

Definition at line 62 of file CommonMessaging.h.

Member Typedef Documentation

template<typename BASE>
using CommonMessaging< BASE >::base_class = CommonMessaging

Definition at line 155 of file CommonMessaging.h.

Member Function Documentation

template<typename BASE>
void CommonMessaging< BASE >::create_msgStream ( ) const
inlinefinaloverrideprivatevirtual

cold functionality

Implements CommonMessagingBase.

Definition at line 162 of file CommonMessaging.h.

162 { m_msgStream.reset( new MsgStream( msgSvc(), this->name() ) ); }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
boost::thread_specific_ptr< MsgStream > m_msgStream
The predefined message stream.
const SmartIF< IMessageSvc > & msgSvc() const
The standard message service.
template<typename BASE>
MSG::Level CommonMessaging< BASE >::resetMessaging ( )
inlineprotected

Reinitialize internal states.

Definition at line 181 of file CommonMessaging.h.

182  {
183  m_commonMessagingReady = false;
184  return setUpMessaging();
185  }
MSG::Level setUpMessaging()
Set up local caches.
template<typename BASE>
MSG::Level CommonMessaging< BASE >::setUpMessaging ( )
inlineprotected

Set up local caches.

Definition at line 166 of file CommonMessaging.h.

167  {
168  if ( !m_commonMessagingReady ) {
169  if ( !m_msgsvc ) {
170  // Get default implementation of the message service.
171  m_msgsvc = this->serviceLocator();
172  }
174  m_level = MSG::Level( m_msgStream.get() ? m_msgStream->level() : MSG::NIL );
175  // if we could not get a MessageSvc, we should try again the initial set up
177  }
178  return m_level;
179  }
SmartIF< IMessageSvc > m_msgsvc
Pointer to the message service;.
boost::thread_specific_ptr< MsgStream > m_msgStream
The predefined message stream.
void create_msgStream() const override final
cold functionality
template<typename BASE>
void CommonMessaging< BASE >::updateMsgStreamOutputLevel ( int  level)
inlineprotected

Update the output level of the cached MsgStream.

This function is meant to be called by the update handler of the OutputLevel property.

Definition at line 188 of file CommonMessaging.h.

189  {
190  setUpMessaging();
191  if ( level != MSG::NIL && level != m_level ) {
192  if ( msgSvc() ) {
193  msgSvc()->setOutputLevel( this->name(), level );
194  }
195  if ( m_msgStream.get() ) m_msgStream->setLevel( level );
196  if ( UNLIKELY( MSG::Level( level ) <= MSG::DEBUG ) )
197  debug() << "Property update for OutputLevel : new value = " << level << endmsg;
198  m_level = MSG::Level( level );
199  }
200  }
#define UNLIKELY(x)
Definition: Kernel.h:128
boost::thread_specific_ptr< MsgStream > m_msgStream
The predefined message stream.
const SmartIF< IMessageSvc > & msgSvc() const
The standard message service.
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
MSG::Level setUpMessaging()
Set up local caches.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:209
virtual void setOutputLevel(int new_level)=0
Set new global output level threshold.

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