| The Gaudi Framework v32r1 (f65d50dc)

Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes | Private Types | List of all members
MsgStream Class Reference

Definition of the MsgStream class used to transmit messages. More...

`#include <GaudiKernel/MsgStream.h>`

Collaboration diagram for MsgStream:
[legend]

## Public Member Functions
GAUDI_API | MsgStream (IMessageSvc *svc, int buffer_length=128)
| Standard constructor: Connect to message service for output. More...
GAUDI_API | MsgStream (IMessageSvc *svc, std::string source, int buffer_length=128)
| Standard constructor: Connect to message service for output. More...
| MsgStream (const MsgStream &msg)
| Copy constructor. More...
virtual GAUDI_API | ~MsgStream ()=default
| Standard destructor. More...
MsgStream & | report (int lvl)
| Initialize report of new message: activate if print level is sufficient. More...
virtual GAUDI_API MsgStream & | doOutput ()
| Output method. More...
const std::string & | buffer () const
| Access string buffer. More...
std::ostringstream & | stream ()
| Access string MsgStream. More...
void | setMsgSvc (IMessageSvc *svc)
| Update `IMessageSvc` pointer. More...
void | setLevel (int level)
| Update outputlevel. More...
MSG::Level | level () const
| Retrieve output level. More...
MSG::Level | currentLevel () const
| Retrieve current stream output level. More...
void | activate ()
| Activate MsgStream. More...
void | deactivate ()
| Deactivate MsgStream. More...
bool | isActive () const
| Accessor: is MsgStream active. More...
MsgStream & | flush ()
MsgStream & | write (const char *buff, int len)
MsgStream & | operator<< (MsgStream &(*_f)(MsgStream &))
| Accept MsgStream modifiers. More...
MsgStream & | operator<< (std::ostream &(*_f)(std::ostream &))
| Accept oMsgStream modifiers. More...
MsgStream & | operator<< (std::ios &(*_f)(std::ios &))
| Accept ios modifiers. More...
MsgStream & | operator<< (MSG::Level level)
| Accept MsgStream activation using MsgStreamer operator. More...
MsgStream & | operator<< (long long arg)
MsgStream & | operator<< (std::ios_base &(*_f)(std::ios_base &))
| Accept ios base class modifiers. More...
long | flags () const
| IOS emulation. More...
long | flags (FLAG_TYPE v)
long | setf (FLAG_TYPE v)
int | width () const
int | width (int v)
char | fill () const
char | fill (char v)
int | precision () const
int | precision (int v)
int | rdstate () const
int | good () const
int | eof () const
int | bad () const
long | setf (FLAG_TYPE _f, FLAG_TYPE _m)
void | unsetf (FLAG_TYPE _l)
void | clear (STATE_TYPE _i=std::ios_base::failbit)
GAUDI_API void | setColor (MSG::Color col)
| Set the text color. More...
GAUDI_API void | setColor (MSG::Color fg, MSG::Color bg)
| Set the foreground and background colors. More...
GAUDI_API void | resetColor ()
| Reset the colors to defaults. More...

## Static Public Member Functions
static GAUDI_API bool | enableCountInactive (bool value=true)
| Enable/disable the count of inactive messages. More...
static GAUDI_API bool | countInactive ()
| Returns the state of the counting of inactive messages (enabled/disabled). More...

## Protected Attributes
IMessageSvc * | m_service
| Pointer to message service if buffer has send. More...
std::string | m_buffer
| Use standard string for information buffering. More...
std::string | m_source
| Use std::string for source information to be passed to the message service. More...
std::ostringstream | m_stream
| String MsgStream associated to buffer. More...
bool | m_active = false
| Flag set to true if formatting engine is active. More...
MSG::Level | m_level
| Debug level of the message service. More...
MSG::Level | m_currLevel
| Current debug level. More...
bool | m_useColors
| use colors More...
IInactiveMessageCounter * | m_inactCounter = nullptr
| Pointer to service counting messages prepared but not printed because of wrong level. More...

## Static Protected Attributes
static bool | m_countInactive = false
| Flag to state if the inactive messages has to be counted. More...

## Private Types
typedef std::ios_base::fmtflags | FLAG_TYPE
| Error return code in case ios modification is requested for inactive streams. More...
typedef std::ios_base::iostate | STATE_TYPE

## Detailed Description

Definition of the MsgStream class used to transmit messages.

This class is intended to ease the use of error logging to the message service

Author
  M.Frank
  Sebastien Ponce

Definition at line 24 of file MsgStream.h.

## Member Typedef Documentation

## ◆ FLAG_TYPE

typedef std::ios_base::fmtflags MsgStream::FLAG_TYPE
| private

Error return code in case ios modification is requested for inactive streams.

Definition at line 29 of file MsgStream.h.

## ◆ STATE_TYPE

typedef std::ios_base::iostate MsgStream::STATE_TYPE
| private

Definition at line 30 of file MsgStream.h.

## Constructor & Destructor Documentation

## ◆ MsgStream() [1/3]

MsgStream::MsgStream | ( | IMessageSvc * | svc,
|  | int | buffer_length = `128`
| ) |  |

Standard constructor: Connect to message service for output.

Definition at line 39 of file MsgStream.cpp.

39 : m_service( svc ) {
40 setLevel( svc ? svc->outputLevel() : MSG::INFO );
41 m_currLevel = m_level;
42 m_useColors = ( svc ? svc->useColor() : false );
43 #ifndef NDEBUG
44 m_inactCounter = svc ? Gaudi::Cast<IInactiveMessageCounter>( svc ) : 0;
45 #endif
46 }
MsgStream::m_useColors
bool m_useColors
use colors
Definition: MsgStream.h:48
MsgStream::m_service
IMessageSvc * m_service
Pointer to message service if buffer has send.
Definition: MsgStream.h:34
MsgStream::m_level
MSG::Level m_level
Debug level of the message service.
Definition: MsgStream.h:44
IMessageSvc::outputLevel
virtual int outputLevel() const =0
Retrieve the current output level threshold.
MsgStream::m_currLevel
MSG::Level m_currLevel
Current debug level.
Definition: MsgStream.h:46
IMessageSvc::useColor
virtual bool useColor() const =0
Show whether colors are used.
MsgStream::setLevel
void setLevel(int level)
Update outputlevel.
Definition: MsgStream.h:98
MsgStream::m_inactCounter
IInactiveMessageCounter * m_inactCounter
Pointer to service counting messages prepared but not printed because of wrong level.
Definition: MsgStream.h:51
MSG::INFO
Definition: IMessageSvc.h:15

## ◆ MsgStream() [2/3]

MsgStream::MsgStream | ( | IMessageSvc * | svc,
|  | std::string | source,
|  | int | buffer_length = `128`
| ) |  |

Standard constructor: Connect to message service for output.

Definition at line 48 of file MsgStream.cpp.

48 : m_service( svc ), m_source( std::move( source ) ) {
49 setLevel( svc ? svc->outputLevel( m_source ) : MSG::INFO );
50 m_currLevel = m_level;
51 m_useColors = ( svc && svc->useColor() );
52 #ifndef NDEBUG
53 m_inactCounter = svc ? Gaudi::Cast<IInactiveMessageCounter>( svc ) : 0;
54 #endif
55 }
MsgStream::m_useColors
bool m_useColors
use colors
Definition: MsgStream.h:48
MsgStream::m_service
IMessageSvc * m_service
Pointer to message service if buffer has send.
Definition: MsgStream.h:34
MsgStream::m_source
std::string m_source
Use std::string for source information to be passed to the message service.
Definition: MsgStream.h:38
MsgStream::m_level
MSG::Level m_level
Debug level of the message service.
Definition: MsgStream.h:44
IMessageSvc::outputLevel
virtual int outputLevel() const =0
Retrieve the current output level threshold.
std::move
T move(T... args)
MsgStream::m_currLevel
MSG::Level m_currLevel
Current debug level.
Definition: MsgStream.h:46
IMessageSvc::useColor
virtual bool useColor() const =0
Show whether colors are used.
MsgStream::setLevel
void setLevel(int level)
Update outputlevel.
Definition: MsgStream.h:98
MsgStream::m_inactCounter
IInactiveMessageCounter * m_inactCounter
Pointer to service counting messages prepared but not printed because of wrong level.
Definition: MsgStream.h:51
MSG::INFO
Definition: IMessageSvc.h:15

## ◆ MsgStream() [3/3]

MsgStream::MsgStream | ( | const MsgStream & | msg | ) |
| inline

Copy constructor.

Definition at line 61 of file MsgStream.h.

62 : m_service( msg.m_service )
63 , m_active( msg.m_active )
64 , m_level( msg.m_level )
65 , m_currLevel( msg.m_currLevel )
66 , m_useColors( msg.m_useColors )
67 , m_inactCounter( msg.m_inactCounter ) {
68 try { // ignore exception if we cannot copy the string
69 m_source = msg.m_source;
70 } catch ( ... ) {}
71 }
MsgStream::m_useColors
bool m_useColors
use colors
Definition: MsgStream.h:48
MsgStream::m_service
IMessageSvc * m_service
Pointer to message service if buffer has send.
Definition: MsgStream.h:34
MsgStream::m_source
std::string m_source
Use std::string for source information to be passed to the message service.
Definition: MsgStream.h:38
MsgStream::m_level
MSG::Level m_level
Debug level of the message service.
Definition: MsgStream.h:44
MsgStream::m_active
bool m_active
Flag set to true if formatting engine is active.
Definition: MsgStream.h:42
MsgStream::m_currLevel
MSG::Level m_currLevel
Current debug level.
Definition: MsgStream.h:46
GaudiMP.FdsRegistry.msg
msg
Definition: FdsRegistry.py:8
MsgStream::m_inactCounter
IInactiveMessageCounter * m_inactCounter
Pointer to service counting messages prepared but not printed because of wrong level.
Definition: MsgStream.h:51

## ◆ ~MsgStream()

virtual GAUDI_API MsgStream::~MsgStream | ( |  | ) |
| virtual default

Standard destructor.

## Member Function Documentation

## ◆ activate()

void MsgStream::activate | ( |  | ) |
| inline

Activate MsgStream.

Definition at line 107 of file MsgStream.h.

107 { m_active = true; }
MsgStream::m_active
bool m_active
Flag set to true if formatting engine is active.
Definition: MsgStream.h:42

## ◆ bad()

int MsgStream::bad | ( |  | ) | const
| inline

Definition at line 166 of file MsgStream.h.

166 { return isActive() ? m_stream.bad() : 0; }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40
std::ostringstream::bad
T bad(T... args)

## ◆ buffer()

const std::string& MsgStream::buffer | ( |  | ) | const
| inline

Access string buffer.

Definition at line 92 of file MsgStream.h.

92 { return m_buffer; }
MsgStream::m_buffer
std::string m_buffer
Use standard string for information buffering.
Definition: MsgStream.h:36

## ◆ clear()

void MsgStream::clear | ( | STATE_TYPE | _i = `std::ios_base::failbit` | ) |
| inline

Definition at line 171 of file MsgStream.h.

171 {
172 if ( isActive() ) m_stream.clear( _i );
173 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40
std::ostringstream::clear
T clear(T... args)

## ◆ countInactive()

bool MsgStream::countInactive | ( |  | ) |
| static

Returns the state of the counting of inactive messages (enabled/disabled).

Definition at line 37 of file MsgStream.cpp.

37 { return m_countInactive; }
MsgStream::m_countInactive
static bool m_countInactive
Flag to state if the inactive messages has to be counted.
Definition: MsgStream.h:53

## ◆ currentLevel()

MSG::Level MsgStream::currentLevel | ( |  | ) | const
| inline

Retrieve current stream output level.

Definition at line 105 of file MsgStream.h.

105 { return m_currLevel; }
MsgStream::m_currLevel
MSG::Level m_currLevel
Current debug level.
Definition: MsgStream.h:46

## ◆ deactivate()

void MsgStream::deactivate | ( |  | ) |
| inline

Deactivate MsgStream.

Definition at line 109 of file MsgStream.h.

109 { m_active = false; }
MsgStream::m_active
bool m_active
Flag set to true if formatting engine is active.
Definition: MsgStream.h:42

## ◆ doOutput()

MsgStream & MsgStream::doOutput | ( |  | ) |
| virtual

Output method.

Definition at line 57 of file MsgStream.cpp.

57 {
58 try {
59 // This piece of code may throw and we cannot afford it when we print a message
60 // in the middle of a catch block.
61 if ( isActive() ) {
62 const Message msg( m_source, m_currLevel, m_stream.str() );
63 if ( m_service ) {
64 m_service->reportMessage( msg, m_currLevel );
65 } else {
66 std::cout << msg << std::endl;
67 }
68 }
69 m_stream.str( "" );
70 } catch ( ... ) {}
71 return *this;
72 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
std::endl
T endl(T... args)
MsgStream::m_service
IMessageSvc * m_service
Pointer to message service if buffer has send.
Definition: MsgStream.h:34
MsgStream::m_source
std::string m_source
Use std::string for source information to be passed to the message service.
Definition: MsgStream.h:38
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40
std::ostringstream::str
T str(T... args)
MsgStream::m_currLevel
MSG::Level m_currLevel
Current debug level.
Definition: MsgStream.h:46
Message
The Message class.
Definition: Message.h:17
GaudiMP.FdsRegistry.msg
msg
Definition: FdsRegistry.py:8
IMessageSvc::reportMessage
virtual void reportMessage(const Message &msg, int outputLevel)=0
Report a message by sending a Message object to the message service.
std::cout

## ◆ enableCountInactive()

bool MsgStream::enableCountInactive | ( | bool | value = `true` | ) |
| static

Enable/disable the count of inactive messages.

Returns the previous state.

Definition at line 31 of file MsgStream.cpp.

31 {
32 bool old = m_countInactive;
33 m_countInactive = value;
34 return old;
35 }
MsgStream::m_countInactive
static bool m_countInactive
Flag to state if the inactive messages has to be counted.
Definition: MsgStream.h:53

## ◆ eof()

int MsgStream::eof | ( |  | ) | const
| inline

Definition at line 165 of file MsgStream.h.

165 { return isActive() ? m_stream.eof() : 0; }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
std::ostringstream::eof
T eof(T... args)
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ fill() [1/2]

char MsgStream::fill | ( |  | ) | const
| inline

Definition at line 159 of file MsgStream.h.

159 { return isActive() ? m_stream.fill() : (char)-1; }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40
std::ostringstream::fill
T fill(T... args)

## ◆ fill() [2/2]

char MsgStream::fill | ( | char | v | ) |
| inline

Definition at line 160 of file MsgStream.h.

160 { return isActive() ? m_stream.fill( v ) : (char)-1; }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40
std::ostringstream::fill
T fill(T... args)

## ◆ flags() [1/2]

long MsgStream::flags | ( |  | ) | const
| inline

IOS emulation.

Definition at line 154 of file MsgStream.h.

154 { return isActive() ? m_stream.flags() : 0; }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
std::ostringstream::flags
T flags(T... args)
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ flags() [2/2]

long MsgStream::flags | ( | FLAG_TYPE | v | ) |
| inline

Definition at line 155 of file MsgStream.h.

155 { return isActive() ? m_stream.flags( v ) : 0; }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
std::ostringstream::flags
T flags(T... args)
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ flush()

MsgStream& MsgStream::flush | ( |  | ) |
| inline

Definition at line 113 of file MsgStream.h.

113 {
114 if ( isActive() ) m_stream.flush();
115 return *this;
116 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40
std::ostringstream::flush
T flush(T... args)

## ◆ good()

int MsgStream::good | ( |  | ) | const
| inline

Definition at line 164 of file MsgStream.h.

164 { return isActive() ? m_stream.good() : 0; }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
std::ostringstream::good
T good(T... args)
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ isActive()

bool MsgStream::isActive | ( |  | ) | const
| inline

Accessor: is MsgStream active.

Definition at line 111 of file MsgStream.h.

111 { return m_active; }
MsgStream::m_active
bool m_active
Flag set to true if formatting engine is active.
Definition: MsgStream.h:42

## ◆ level()

MSG::Level MsgStream::level | ( |  | ) | const
| inline

Retrieve output level.

Definition at line 103 of file MsgStream.h.

103 { return m_level; }
MsgStream::m_level
MSG::Level m_level
Debug level of the message service.
Definition: MsgStream.h:44

## ◆ operator<<() [1/6]

MsgStream& MsgStream::operator<< | ( | MsgStream &(*)(MsgStream &) | _f | ) |
| inline

Accept MsgStream modifiers.

Definition at line 123 of file MsgStream.h.

123 {
124 if ( isActive() ) _f( *this );
125 return *this;
126 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111

## ◆ operator<<() [2/6]

MsgStream& MsgStream::operator<< | ( | std::ostream &(*)(std::ostream &) | _f | ) |
| inline

Accept oMsgStream modifiers.

Definition at line 128 of file MsgStream.h.

128 {
129 if ( isActive() ) _f( m_stream );
130 return *this;
131 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ operator<<() [3/6]

MsgStream& MsgStream::operator<< | ( | std::ios &(*)(std::ios &) | _f | ) |
| inline

Accept ios modifiers.

Definition at line 133 of file MsgStream.h.

133 {
134 if ( isActive() ) _f( m_stream );
135 return *this;
136 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ operator<<() [4/6]

MsgStream& MsgStream::operator<< | ( | MSG::Level | level | ) |
| inline

Accept MsgStream activation using MsgStreamer operator.

Definition at line 138 of file MsgStream.h.

138 { return report( level ); }
MsgStream::report
MsgStream & report(int lvl)
Initialize report of new message: activate if print level is sufficient.
Definition: MsgStream.h:75
MsgStream::level
MSG::Level level() const
Retrieve output level.
Definition: MsgStream.h:103

## ◆ operator<<() [5/6]

MsgStream& MsgStream::operator<< | ( | long long | arg | ) |
| inline

Definition at line 139 of file MsgStream.h.

139 {
140 try {
141 // this may throw, and we cannot afford it if the stream is used in a catch block
142 if ( isActive() ) { m_stream << arg; }
143 } catch ( ... ) {}
144 return *this;
145 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ operator<<() [6/6]

MsgStream& MsgStream::operator<< | ( | std::ios_base &(*)(std::ios_base &) | _f | ) |
| inline

Accept ios base class modifiers.

Definition at line 148 of file MsgStream.h.

148 {
149 if ( isActive() ) _f( m_stream );
150 return *this;
151 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ precision() [1/2]

int MsgStream::precision | ( |  | ) | const
| inline

Definition at line 161 of file MsgStream.h.

161 { return isActive() ? m_stream.precision() : 0; }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
std::ostringstream::precision
T precision(T... args)
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ precision() [2/2]

int MsgStream::precision | ( | int | v | ) |
| inline

Definition at line 162 of file MsgStream.h.

162 { return isActive() ? m_stream.precision( v ) : 0; }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
std::ostringstream::precision
T precision(T... args)
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ rdstate()

int MsgStream::rdstate | ( |  | ) | const
| inline

Definition at line 163 of file MsgStream.h.

163 { return isActive() ? m_stream.rdstate() : std::ios_base::failbit; }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
std::ostringstream::rdstate
T rdstate(T... args)
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ report()

MsgStream& MsgStream::report | ( | int | lvl | ) |
| inline

Initialize report of new message: activate if print level is sufficient.

Definition at line 75 of file MsgStream.h.

75 {
76 lvl = ( lvl >= MSG::NUM_LEVELS ) ? MSG::ALWAYS : ( lvl < MSG::NIL ) ? MSG::NIL : lvl;
77 if ( ( m_currLevel = MSG::Level( lvl ) ) >= level() ) {
78 activate();
79 } else {
80 deactivate();
81 #ifndef NDEBUG
82 if ( MsgStream::countInactive() && m_inactCounter ) {
83 m_inactCounter->incrInactiveCount( MSG::Level( lvl ), m_source );
84 }
85 #endif
86 }
87 return *this;
88 }
IInactiveMessageCounter::incrInactiveCount
virtual void incrInactiveCount(MSG::Level level, const std::string &src)=0
Increment deactivated message count.
MsgStream::m_source
std::string m_source
Use std::string for source information to be passed to the message service.
Definition: MsgStream.h:38
MSG::Level
Level
Definition: IMessageSvc.h:15
MsgStream::deactivate
void deactivate()
Deactivate MsgStream.
Definition: MsgStream.h:109
MSG::NIL
Definition: IMessageSvc.h:15
MsgStream::m_currLevel
MSG::Level m_currLevel
Current debug level.
Definition: MsgStream.h:46
MSG::NUM_LEVELS
Definition: IMessageSvc.h:15
MsgStream::level
MSG::Level level() const
Retrieve output level.
Definition: MsgStream.h:103
MsgStream::activate
void activate()
Activate MsgStream.
Definition: MsgStream.h:107
MsgStream::m_inactCounter
IInactiveMessageCounter * m_inactCounter
Pointer to service counting messages prepared but not printed because of wrong level.
Definition: MsgStream.h:51
MSG::ALWAYS
Definition: IMessageSvc.h:15
MsgStream::countInactive
static GAUDI_API bool countInactive()
Returns the state of the counting of inactive messages (enabled/disabled).
Definition: MsgStream.cpp:37

## ◆ resetColor()

void MsgStream::resetColor | ( |  | ) |

Reset the colors to defaults.

Definition at line 99 of file MsgStream.cpp.

99 {
100 #ifndef _WIN32
101 if ( m_useColors ) {
102 try { // this may throw and we must not do it
103 m_stream << "\x1b[m" << m_service->getLogColor( m_currLevel );
104 } catch ( ... ) {}
105 }
106 #endif
107 }
MsgStream::m_useColors
bool m_useColors
use colors
Definition: MsgStream.h:48
MsgStream::m_service
IMessageSvc * m_service
Pointer to message service if buffer has send.
Definition: MsgStream.h:34
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40
MsgStream::m_currLevel
MSG::Level m_currLevel
Current debug level.
Definition: MsgStream.h:46
IMessageSvc::getLogColor
virtual std::string getLogColor(int logLevel) const =0
Get the color codes for various log levels.

## ◆ setColor() [1/2]

void MsgStream::setColor | ( | MSG::Color | col | ) |

Set the text color.

Definition at line 74 of file MsgStream.cpp.

74 {
75 #ifndef _WIN32
76 if ( m_useColors ) {
77 int fc = 90 + col;
78 try { // this may throw and we must not do it
79 m_stream << "\x1b[" << fc << ";1m";
80 } catch ( ... ) {}
81 }
82 #endif
83 }
MsgStream::m_useColors
bool m_useColors
use colors
Definition: MsgStream.h:48
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ setColor() [2/2]

void MsgStream::setColor | ( | MSG::Color | fg,
|  | MSG::Color | bg
| ) |  |

Set the foreground and background colors.

Definition at line 85 of file MsgStream.cpp.

85 {
86 #ifndef _WIN32
87 if ( m_useColors ) {
88 try { // this may throw and we must not do it
89 int fc = 90 + fg;
90 m_stream << "\x1b[" << fc;
91 int bc = 100 + bg;
92 m_stream << ";" << bc;
93 m_stream << ";1m";
94 } catch ( ... ) {}
95 }
96 #endif
97 }
MsgStream::m_useColors
bool m_useColors
use colors
Definition: MsgStream.h:48
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ setf() [1/2]

long MsgStream::setf | ( | FLAG_TYPE | v | ) |
| inline

Definition at line 156 of file MsgStream.h.

156 { return isActive() ? m_stream.setf( v ) : 0; }
std::ostringstream::setf
T setf(T... args)
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ setf() [2/2]

long MsgStream::setf | ( | FLAG_TYPE | _f,
|  | FLAG_TYPE | _m
| ) |  |
| inline

Definition at line 167 of file MsgStream.h.

167 { return isActive() ? m_stream.setf( _f, _m ) : 0; }
std::ostringstream::setf
T setf(T... args)
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ setLevel()

void MsgStream::setLevel | ( | int | level | ) |
| inline

Update outputlevel.

Definition at line 98 of file MsgStream.h.

98 {
99 level = ( level >= MSG::NUM_LEVELS ) ? MSG::ALWAYS : ( level < MSG::NIL ) ? MSG::NIL : level;
100 m_level = MSG::Level( level );
101 }
MsgStream::m_level
MSG::Level m_level
Debug level of the message service.
Definition: MsgStream.h:44
MSG::Level
Level
Definition: IMessageSvc.h:15
MSG::NIL
Definition: IMessageSvc.h:15
MSG::NUM_LEVELS
Definition: IMessageSvc.h:15
MsgStream::level
MSG::Level level() const
Retrieve output level.
Definition: MsgStream.h:103
MSG::ALWAYS
Definition: IMessageSvc.h:15

## ◆ setMsgSvc()

void MsgStream::setMsgSvc | ( | IMessageSvc * | svc | ) |
| inline

Update `IMessageSvc` pointer.

Definition at line 96 of file MsgStream.h.

96 { m_service = svc; }
MsgStream::m_service
IMessageSvc * m_service
Pointer to message service if buffer has send.
Definition: MsgStream.h:34

## ◆ stream()

std::ostringstream& MsgStream::stream | ( |  | ) |
| inline

Access string MsgStream.

Definition at line 94 of file MsgStream.h.

94 { return m_stream; }
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40

## ◆ unsetf()

void MsgStream::unsetf | ( | FLAG_TYPE | _l | ) |
| inline

Definition at line 168 of file MsgStream.h.

168 {
169 if ( isActive() ) m_stream.unsetf( _l );
170 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40
std::ostringstream::unsetf
T unsetf(T... args)

## ◆ width() [1/2]

int MsgStream::width | ( |  | ) | const
| inline

Definition at line 157 of file MsgStream.h.

157 { return isActive() ? m_stream.width() : 0; }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40
std::ostringstream::width
T width(T... args)

## ◆ width() [2/2]

int MsgStream::width | ( | int | v | ) |
| inline

Definition at line 158 of file MsgStream.h.

158 { return isActive() ? m_stream.width( v ) : 0; }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40
std::ostringstream::width
T width(T... args)

## ◆ write()

MsgStream& MsgStream::write | ( | const char * | buff,
|  | int | len
| ) |  |
| inline

Definition at line 118 of file MsgStream.h.

118 {
119 if ( isActive() ) m_stream.write( buff, len );
120 return *this;
121 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:111
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:40
std::ostringstream::write
T write(T... args)

## Member Data Documentation

## ◆ m_active

bool MsgStream::m_active = false
| protected

Flag set to true if formatting engine is active.

Definition at line 42 of file MsgStream.h.

## ◆ m_buffer

std::string MsgStream::m_buffer
| protected

Use standard string for information buffering.

Definition at line 36 of file MsgStream.h.

## ◆ m_countInactive

bool MsgStream::m_countInactive = false
| static protected

Flag to state if the inactive messages has to be counted.

Definition at line 53 of file MsgStream.h.

## ◆ m_currLevel

MSG::Level MsgStream::m_currLevel
| protected

Current debug level.

Definition at line 46 of file MsgStream.h.

## ◆ m_inactCounter

IInactiveMessageCounter* MsgStream::m_inactCounter = nullptr
| protected

Pointer to service counting messages prepared but not printed because of wrong level.

Definition at line 51 of file MsgStream.h.

## ◆ m_level

MSG::Level MsgStream::m_level
| protected

Debug level of the message service.

Definition at line 44 of file MsgStream.h.

## ◆ m_service

IMessageSvc* MsgStream::m_service
| protected

Pointer to message service if buffer has send.

Definition at line 34 of file MsgStream.h.

## ◆ m_source

std::string MsgStream::m_source
| protected

Use std::string for source information to be passed to the message service.

Definition at line 38 of file MsgStream.h.

## ◆ m_stream

std::ostringstream MsgStream::m_stream
| protected

String MsgStream associated to buffer.

Definition at line 40 of file MsgStream.h.

## ◆ m_useColors

bool MsgStream::m_useColors
| protected

use colors

Definition at line 48 of file MsgStream.h.

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

- GaudiKernel/GaudiKernel/MsgStream.h
- GaudiKernel/src/Lib/MsgStream.cpp