The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
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
14#include <iostream>
15#include <string>
16
17class StatusCode;
18class Message;
19
21namespace MSG {
24} // namespace MSG
25
34class GAUDI_API IMessageSvc : virtual public IInterface {
35public:
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
146public:
149
154 virtual void incrInactiveCount( MSG::Level level, std::string_view src ) = 0;
155};
#define GAUDI_API
Definition Kernel.h:49
virtual void incrInactiveCount(MSG::Level level, std::string_view src)=0
Increment deactivated message count.
DeclareInterfaceID(IInactiveMessageCounter, 2, 0)
InterfaceID.
Definition of the basic interface.
Definition IInterface.h:225
The IMessage is the interface implemented by the message service.
Definition IMessageSvc.h:34
virtual void eraseStream(std::ostream *stream)=0
Delete all occurrences of a stream.
virtual void eraseStream()=0
Delete all the streams.
virtual void eraseMessage(const StatusCode &code)=0
Erase message associated to a given status code.
virtual std::ostream * defaultStream() const =0
Get the default stream.
virtual void reportMessage(const StatusCode &code, std::string_view source="")=0
Report an error to the message service.
DeclareInterfaceID(IMessageSvc, 2, 0)
InterfaceID.
virtual void reportMessage(const Message &msg, int outputLevel)=0
Report a message by sending a Message object to the message service.
virtual void eraseMessage(const StatusCode &code, const Message &message)=0
Erase a given message associated to a given status code.
virtual void reportMessage(std::string source, int type, std::string message)=0
Report a message by specifying the source, severity level and text.
virtual void eraseMessage()=0
Erase all messages associated to all status codes.
virtual void eraseStream(int type, std::ostream *stream)=0
Delete a single stream for a given message type (severity level)
virtual void setDefaultStream(std::ostream *stream)=0
Set the default stream.
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.
virtual void setOutputLevel(int new_level)=0
Set new global output level threshold.
virtual void reportMessage(const Message &message)=0
Report a message by sending a Message object to the message service.
virtual int outputLevel() const =0
Retrieve the current output level threshold.
virtual void eraseStream(int message_type)=0
Delete all the streams for a given message type (severity level).
virtual bool useColor() const =0
Show whether colors are used.
virtual void setOutputLevel(std::string_view source, int new_level)=0
Set new output level threshold for a given message source.
virtual int outputLevel(std::string_view source) const =0
Retrieve the current output level threshold for a given message source.
virtual std::string getLogColor(int logLevel) const =0
Get the color codes for various log levels.
virtual void insertStream(int type, std::string name, std::ostream *stream)=0
Add a new stream for a message type (severity level).
virtual int messageCount(MSG::Level level) const =0
Get the number of messages issued at a particular level.
The Message class.
Definition Message.h:25
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64
Print levels enumeration.
Definition IMessageSvc.h:21
@ GREEN
Definition IMessageSvc.h:23
@ WHITE
Definition IMessageSvc.h:23
@ CYAN
Definition IMessageSvc.h:23
@ YELLOW
Definition IMessageSvc.h:23
@ PURPLE
Definition IMessageSvc.h:23
@ NUM_COLORS
Definition IMessageSvc.h:23
@ BLACK
Definition IMessageSvc.h:23
@ BLUE
Definition IMessageSvc.h:23
@ RED
Definition IMessageSvc.h:23
@ NIL
Definition IMessageSvc.h:22
@ NUM_LEVELS
Definition IMessageSvc.h:22
@ WARNING
Definition IMessageSvc.h:22
@ FATAL
Definition IMessageSvc.h:22
@ DEBUG
Definition IMessageSvc.h:22
@ ERROR
Definition IMessageSvc.h:22
@ ALWAYS
Definition IMessageSvc.h:22
@ INFO
Definition IMessageSvc.h:22
@ VERBOSE
Definition IMessageSvc.h:22