Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  master (e3184c44)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IMessageSvc.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #pragma once
12 
13 #include <GaudiKernel/IInterface.h>
14 #include <iostream>
15 #include <string>
16 
17 class StatusCode;
18 class Message;
19 
21 namespace MSG {
24 } // namespace MSG
25 
34 class GAUDI_API IMessageSvc : virtual public IInterface {
35 public:
38 
43  virtual void reportMessage( const Message& msg, int outputLevel ) = 0;
44 
48  virtual void reportMessage( const Message& message ) = 0;
49 
55  virtual void reportMessage( const StatusCode& code, std::string_view source = "" ) = 0;
56 
62  virtual void reportMessage( std::string source, int type, std::string message ) = 0;
63 
68  virtual void insertMessage( const StatusCode& code, Message message ) = 0;
69 
71  virtual void eraseMessage() = 0;
72 
74  virtual void eraseMessage( const StatusCode& code ) = 0;
75 
80  virtual void eraseMessage( const StatusCode& code, const Message& message ) = 0;
81 
87  virtual void insertStream( int type, std::string name, std::ostream* stream ) = 0;
88 
90  virtual void eraseStream() = 0;
91 
93  virtual void eraseStream( int message_type ) = 0;
94 
99  virtual void eraseStream( int type, std::ostream* stream ) = 0;
100 
104  virtual void eraseStream( std::ostream* stream ) = 0;
105 
107  virtual std::ostream* defaultStream() const = 0;
108 
112  virtual void setDefaultStream( std::ostream* stream ) = 0;
113 
115  virtual int outputLevel() const = 0;
116 
120  virtual int outputLevel( std::string_view source ) const = 0;
121 
123  virtual void setOutputLevel( int new_level ) = 0;
124 
129  virtual void setOutputLevel( std::string_view source, int new_level ) = 0;
130 
133  virtual bool useColor() const = 0;
134 
138  virtual std::string getLogColor( int logLevel ) const = 0;
139 
142  virtual int messageCount( MSG::Level level ) const = 0;
143 };
144 
146 public:
149 
154  virtual void incrInactiveCount( MSG::Level level, std::string_view src ) = 0;
155 };
MSG::DEBUG
@ DEBUG
Definition: IMessageSvc.h:22
MSG
Print levels enumeration.
Definition: IMessageSvc.h:21
Write.stream
stream
Definition: Write.py:32
precedence.message
message
Definition: precedence.py:19
IMessageSvc
Definition: IMessageSvc.h:34
MSG::Color
Color
Definition: IMessageSvc.h:23
MSG::INFO
@ INFO
Definition: IMessageSvc.h:22
IMessageSvc::getLogColor
virtual std::string getLogColor(int logLevel) const =0
Get the color codes for various log levels.
IMessageSvc::setOutputLevel
virtual void setOutputLevel(int new_level)=0
Set new global output level threshold.
MSG::BLACK
@ BLACK
Definition: IMessageSvc.h:23
IInactiveMessageCounter
Definition: IMessageSvc.h:145
IMessageSvc::defaultStream
virtual std::ostream * defaultStream() const =0
Get the default stream.
GaudiMP.FdsRegistry.msg
msg
Definition: FdsRegistry.py:19
MSG::WARNING
@ WARNING
Definition: IMessageSvc.h:22
MSG::BLUE
@ BLUE
Definition: IMessageSvc.h:23
IMessageSvc::eraseStream
virtual void eraseStream(int type, std::ostream *stream)=0
Delete a single stream for a given message type (severity level)
IMessageSvc::useColor
virtual bool useColor() const =0
Show whether colors are used.
IMessageSvc::reportMessage
virtual void reportMessage(const Message &msg, int outputLevel)=0
Report a message by sending a Message object to the message service.
MSG::PURPLE
@ PURPLE
Definition: IMessageSvc.h:23
IMessageSvc::outputLevel
virtual int outputLevel() const =0
Retrieve the current output level threshold.
IMessageSvc::eraseStream
virtual void eraseStream(std::ostream *stream)=0
Delete all occurrences of a stream.
IMessageSvc::eraseMessage
virtual void eraseMessage(const StatusCode &code, const Message &message)=0
Erase a given message associated to a given status code.
IMessageSvc::DeclareInterfaceID
DeclareInterfaceID(IMessageSvc, 2, 0)
InterfaceID.
StatusCode
Definition: StatusCode.h:64
IInterface.h
Message
Definition: Message.h:25
IMessageSvc::insertMessage
virtual void insertMessage(const StatusCode &code, Message message)=0
Insert a message to be sent for a given status code into the error code repository.
IMessageSvc::eraseStream
virtual void eraseStream(int message_type)=0
Delete all the streams for a given message type (severity level).
IMessageSvc::outputLevel
virtual int outputLevel(std::string_view source) const =0
Retrieve the current output level threshold for a given message source.
IMessageSvc::insertStream
virtual void insertStream(int type, std::string name, std::ostream *stream)=0
Add a new stream for a message type (severity level).
gaudirun.level
level
Definition: gaudirun.py:364
MSG::FATAL
@ FATAL
Definition: IMessageSvc.h:22
IMessageSvc::reportMessage
virtual void reportMessage(std::string source, int type, std::string message)=0
Report a message by specifying the source, severity level and text.
IMessageSvc::eraseStream
virtual void eraseStream()=0
Delete all the streams.
IMessageSvc::eraseMessage
virtual void eraseMessage(const StatusCode &code)=0
Erase message associated to a given status code.
IMessageSvc::reportMessage
virtual void reportMessage(const Message &message)=0
Report a message by sending a Message object to the message service.
IInactiveMessageCounter::DeclareInterfaceID
DeclareInterfaceID(IInactiveMessageCounter, 2, 0)
InterfaceID.
MSG::RED
@ RED
Definition: IMessageSvc.h:23
IMessageSvc::setOutputLevel
virtual void setOutputLevel(std::string_view source, int new_level)=0
Set new output level threshold for a given message source.
MSG::Level
Level
Definition: IMessageSvc.h:22
gaudirun.type
type
Definition: gaudirun.py:160
IMessageSvc::messageCount
virtual int messageCount(MSG::Level level) const =0
Get the number of messages issued at a particular level.
MSG::VERBOSE
@ VERBOSE
Definition: IMessageSvc.h:22
ConditionsStallTest.name
name
Definition: ConditionsStallTest.py:77
MSG::WHITE
@ WHITE
Definition: IMessageSvc.h:23
MSG::ALWAYS
@ ALWAYS
Definition: IMessageSvc.h:22
MSG::NIL
@ NIL
Definition: IMessageSvc.h:22
MSG::ERROR
@ ERROR
Definition: IMessageSvc.h:22
IInterface
Definition: IInterface.h:225
MSG::CYAN
@ CYAN
Definition: IMessageSvc.h:23
MSG::GREEN
@ GREEN
Definition: IMessageSvc.h:23
IMessageSvc::setDefaultStream
virtual void setDefaultStream(std::ostream *stream)=0
Set the default stream.
IMessageSvc::reportMessage
virtual void reportMessage(const StatusCode &code, std::string_view source="")=0
Report an error to the message service.
IMessageSvc::eraseMessage
virtual void eraseMessage()=0
Erase all messages associated to all status codes.
MSG::NUM_LEVELS
@ NUM_LEVELS
Definition: IMessageSvc.h:22
MSG::NUM_COLORS
@ NUM_COLORS
Definition: IMessageSvc.h:23
IInactiveMessageCounter::incrInactiveCount
virtual void incrInactiveCount(MSG::Level level, std::string_view src)=0
Increment deactivated message count.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:49
MSG::YELLOW
@ YELLOW
Definition: IMessageSvc.h:23