| The Gaudi Framework v29r1 (5cd95fa2)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

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<< (longlong 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

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

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

Definition at line 30 of file MsgStream.h.

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

Definition at line 31 of file MsgStream.h.

## Constructor & Destructor Documentation

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

Standard constructor: Connect to message service for output.

Definition at line 40 of file MsgStream.cpp.

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

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

Standard constructor: Connect to message service for output.

Definition at line 50 of file MsgStream.cpp.

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

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

Copy constructor.

Definition at line 62 of file MsgStream.h.

63 : m_service( msg.m_service )
64 , m_active( msg.m_active )
65 , m_level( msg.m_level )
66 , m_currLevel( msg.m_currLevel )
67 , m_useColors( msg.m_useColors )
68 , m_inactCounter( msg.m_inactCounter )
69 {
70 try { // ignore exception if we cannot copy the string
71 m_source = msg.m_source;
72 } catch ( ... ) {
73 }
74 }
MsgStream::m_useColors
bool m_useColors
use colors
Definition: MsgStream.h:49
MsgStream::m_service
IMessageSvc * m_service
Pointer to message service if buffer has send.
Definition: MsgStream.h:35
MsgStream::m_source
std::string m_source
Use std::string for source information to be passed to the message service.
Definition: MsgStream.h:39
MsgStream::m_level
MSG::Level m_level
Debug level of the message service.
Definition: MsgStream.h:45
MsgStream::m_active
bool m_active
Flag set to true if formatting engine is active.
Definition: MsgStream.h:43
MsgStream::m_currLevel
MSG::Level m_currLevel
Current debug level.
Definition: MsgStream.h:47
MsgStream::m_inactCounter
IInactiveMessageCounter * m_inactCounter
Pointer to service counting messages prepared but not printed because of wrong level.
Definition: MsgStream.h:52

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

Standard destructor.

## Member Function Documentation

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

Activate MsgStream.

Definition at line 112 of file MsgStream.h.

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

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

Definition at line 181 of file MsgStream.h.

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

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

Access string buffer.

Definition at line 96 of file MsgStream.h.

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

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

Definition at line 187 of file MsgStream.h.

188 {
189 if ( isActive() ) m_stream.clear( _i );
190 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:116
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41
std::ostringstream::clear
T clear(T...args)

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

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

Definition at line 38 of file MsgStream.cpp.

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

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

Retrieve current stream output level.

Definition at line 110 of file MsgStream.h.

110 { return m_currLevel; }
MsgStream::m_currLevel
MSG::Level m_currLevel
Current debug level.
Definition: MsgStream.h:47

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

Deactivate MsgStream.

Definition at line 114 of file MsgStream.h.

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

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

Output method.

Definition at line 60 of file MsgStream.cpp.

61 {
62 try {
63 // This piece of code may throw and we cannot afford it when we print a message
64 // in the middle of a catch block.
65 if ( isActive() ) {
66 const Message msg( m_source, m_currLevel, m_stream.str() );
67 if ( m_service ) {
68 m_service->reportMessage( msg, m_currLevel );
69 } else {
70 std::cout << msg << std::endl;
71 }
72 }
73 m_stream.str( "" );
74 } catch ( ... ) {
75 }
76 return *this;
77 }
std::endl
T endl(T...args)
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:116
MsgStream::m_service
IMessageSvc * m_service
Pointer to message service if buffer has send.
Definition: MsgStream.h:35
MsgStream::m_source
std::string m_source
Use std::string for source information to be passed to the message service.
Definition: MsgStream.h:39
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41
std::ostringstream::str
T str(T...args)
MsgStream::m_currLevel
MSG::Level m_currLevel
Current debug level.
Definition: MsgStream.h:47
Message
The Message class.
Definition: Message.h:15
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

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.

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

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

Definition at line 180 of file MsgStream.h.

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

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

Definition at line 174 of file MsgStream.h.

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

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

Definition at line 175 of file MsgStream.h.

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

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

IOS emulation.

Definition at line 169 of file MsgStream.h.

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

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

Definition at line 170 of file MsgStream.h.

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

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

Definition at line 118 of file MsgStream.h.

119 {
120 if ( isActive() ) m_stream.flush();
121 return *this;
122 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:116
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41
std::ostringstream::flush
T flush(T...args)

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

Definition at line 179 of file MsgStream.h.

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

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

Accessor: is MsgStream active.

Definition at line 116 of file MsgStream.h.

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

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

Retrieve output level.

Definition at line 108 of file MsgStream.h.

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

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

Accept MsgStream modifiers.

Definition at line 130 of file MsgStream.h.

131 {
132 if ( isActive() ) _f( *this );
133 return *this;
134 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:116

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

Accept oMsgStream modifiers.

Definition at line 136 of file MsgStream.h.

137 {
138 if ( isActive() ) _f( m_stream );
139 return *this;
140 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:116
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41

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

Accept ios modifiers.

Definition at line 142 of file MsgStream.h.

143 {
144 if ( isActive() ) _f( m_stream );
145 return *this;
146 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:116
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41

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

Accept MsgStream activation using MsgStreamer operator.

Definition at line 148 of file MsgStream.h.

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

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

Definition at line 149 of file MsgStream.h.

150 {
151 try {
152 // this may throw, and we cannot afford it if the stream is used in a catch block
153 if ( isActive() ) {
154 m_stream << arg;
155 }
156 } catch ( ... ) {
157 }
158 return *this;
159 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:116
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41

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

Accept ios base class modifiers.

Definition at line 162 of file MsgStream.h.

163 {
164 if ( isActive() ) _f( m_stream );
165 return *this;
166 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:116
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41

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

Definition at line 176 of file MsgStream.h.

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

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

Definition at line 177 of file MsgStream.h.

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

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

Definition at line 178 of file MsgStream.h.

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

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

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

Definition at line 78 of file MsgStream.h.

79 {
80 lvl = ( lvl >= MSG::NUM_LEVELS ) ? MSG::ALWAYS : ( lvl < MSG::NIL ) ? MSG::NIL : lvl;
81 if ( ( m_currLevel = MSG::Level( lvl ) ) >= level() ) {
82 activate();
83 } else {
84 deactivate();
85 #ifndef NDEBUG
86 if ( MsgStream::countInactive() && m_inactCounter ) {
87 m_inactCounter->incrInactiveCount( MSG::Level( lvl ), m_source );
88 }
89 #endif
90 }
91 return *this;
92 }
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:39
MSG::Level
Level
Definition: IMessageSvc.h:16
MsgStream::deactivate
void deactivate()
Deactivate MsgStream.
Definition: MsgStream.h:114
MSG::NIL
Definition: IMessageSvc.h:16
MsgStream::m_currLevel
MSG::Level m_currLevel
Current debug level.
Definition: MsgStream.h:47
MSG::NUM_LEVELS
Definition: IMessageSvc.h:16
MsgStream::level
MSG::Level level() const
Retrieve output level.
Definition: MsgStream.h:108
MsgStream::activate
void activate()
Activate MsgStream.
Definition: MsgStream.h:112
MsgStream::m_inactCounter
IInactiveMessageCounter * m_inactCounter
Pointer to service counting messages prepared but not printed because of wrong level.
Definition: MsgStream.h:52
MSG::ALWAYS
Definition: IMessageSvc.h:16
MsgStream::countInactive
static GAUDI_API bool countInactive()
Returns the state of the counting of inactive messages (enabled/disabled).
Definition: MsgStream.cpp:38

void MsgStream::resetColor | ( |  | ) |

Reset the colors to defaults.

Definition at line 108 of file MsgStream.cpp.

109 {
110 #ifndef _WIN32
111 if ( m_useColors ) {
112 try { // this may throw and we must not do it
113 m_stream << "\x1b[m" << m_service->getLogColor( m_currLevel );
114 } catch ( ... ) {
115 }
116 }
117 #endif
118 }
MsgStream::m_useColors
bool m_useColors
use colors
Definition: MsgStream.h:49
MsgStream::m_service
IMessageSvc * m_service
Pointer to message service if buffer has send.
Definition: MsgStream.h:35
IMessageSvc::getLogColor
virtual std::string getLogColor(int logLevel) const =0
Get the color codes for various log levels.
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41
MsgStream::m_currLevel
MSG::Level m_currLevel
Current debug level.
Definition: MsgStream.h:47

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

Set the text color.

Definition at line 79 of file MsgStream.cpp.

80 {
81 #ifndef _WIN32
82 if ( m_useColors ) {
83 int fc = 90 + col;
84 try { // this may throw and we must not do it
85 m_stream << "\x1b[" << fc << ";1m";
86 } catch ( ... ) {
87 }
88 }
89 #endif
90 }
MsgStream::m_useColors
bool m_useColors
use colors
Definition: MsgStream.h:49
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41

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

Set the foreground and background colors.

Definition at line 92 of file MsgStream.cpp.

93 {
94 #ifndef _WIN32
95 if ( m_useColors ) {
96 try { // this may throw and we must not do it
97 int fc = 90 + fg;
98 m_stream << "\x1b[" << fc;
99 int bc = 100 + bg;
100 m_stream << ";" << bc;
101 m_stream << ";1m";
102 } catch ( ... ) {
103 }
104 }
105 #endif
106 }
MsgStream::m_useColors
bool m_useColors
use colors
Definition: MsgStream.h:49
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41

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

Definition at line 171 of file MsgStream.h.

171 { 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:116
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41

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

Definition at line 182 of file MsgStream.h.

182 { 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:116
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41

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

Update outputlevel.

Definition at line 102 of file MsgStream.h.

103 {
104 level = ( level >= MSG::NUM_LEVELS ) ? MSG::ALWAYS : ( level < MSG::NIL ) ? MSG::NIL : level;
105 m_level = MSG::Level( level );
106 }
MsgStream::m_level
MSG::Level m_level
Debug level of the message service.
Definition: MsgStream.h:45
MSG::Level
Level
Definition: IMessageSvc.h:16
MSG::NIL
Definition: IMessageSvc.h:16
MSG::NUM_LEVELS
Definition: IMessageSvc.h:16
MsgStream::level
MSG::Level level() const
Retrieve output level.
Definition: MsgStream.h:108
MSG::ALWAYS
Definition: IMessageSvc.h:16

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

Update `IMessageSvc` pointer.

Definition at line 100 of file MsgStream.h.

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

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

Access string MsgStream.

Definition at line 98 of file MsgStream.h.

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

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

Definition at line 183 of file MsgStream.h.

184 {
185 if ( isActive() ) m_stream.unsetf( _l );
186 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:116
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41
std::ostringstream::unsetf
T unsetf(T...args)

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

Definition at line 172 of file MsgStream.h.

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

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

Definition at line 173 of file MsgStream.h.

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

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

Definition at line 124 of file MsgStream.h.

125 {
126 if ( isActive() ) m_stream.write( buff, len );
127 return *this;
128 }
MsgStream::isActive
bool isActive() const
Accessor: is MsgStream active.
Definition: MsgStream.h:116
MsgStream::m_stream
std::ostringstream m_stream
String MsgStream associated to buffer.
Definition: MsgStream.h:41
std::ostringstream::write
T write(T...args)

## Member Data Documentation

bool MsgStream::m_active = false
| protected

Flag set to true if formatting engine is active.

Definition at line 43 of file MsgStream.h.

std::string MsgStream::m_buffer
| protected

Use standard string for information buffering.

Definition at line 37 of file MsgStream.h.

bool MsgStream::m_countInactive = false
| static protected

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

Definition at line 54 of file MsgStream.h.

MSG::Level MsgStream::m_currLevel
| protected

Current debug level.

Definition at line 47 of file MsgStream.h.

IInactiveMessageCounter* MsgStream::m_inactCounter = nullptr
| protected

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

Definition at line 52 of file MsgStream.h.

MSG::Level MsgStream::m_level
| protected

Debug level of the message service.

Definition at line 45 of file MsgStream.h.

IMessageSvc* MsgStream::m_service
| protected

Pointer to message service if buffer has send.

Definition at line 35 of file MsgStream.h.

std::string MsgStream::m_source
| protected

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

Definition at line 39 of file MsgStream.h.

std::ostringstream MsgStream::m_stream
| protected

String MsgStream associated to buffer.

Definition at line 41 of file MsgStream.h.

bool MsgStream::m_useColors
| protected

use colors

Definition at line 49 of file MsgStream.h.

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

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