63 void reportMessage( std::string source,
int type, std::string message )
override;
78 void insertStream(
int message_type, std::string
name, std::ostream* stream )
override;
87 void eraseStream(
int message_type, std::ostream* stream )
override;
105 int outputLevel( std::string_view source )
const override;
111 void setOutputLevel( std::string_view source,
int new_level )
override;
117 std::string
getLogColor(
int logLevel )
const override;
154 {
this,
"setVerbose" },
155 {
this,
"setDebug" },
157 {
this,
"setWarning" },
158 {
this,
"setError" },
159 {
this,
"setFatal" },
160 {
this,
"setAlways" } } };
165 {
this,
"verboseColorCode" },
166 {
this,
"debugColorCode" },
167 {
this,
"infoColorCode" },
168 {
this,
"warningColorCode" },
169 {
this,
"errorColorCode" },
170 {
this,
"fatalColorCode" },
171 {
this,
"alwaysColorCode" } } };
174 {
this,
"verboseLimit", 500 },
175 {
this,
"debugLimit", 500 },
176 {
this,
"infoLimit", 500 },
177 {
this,
"warningLimit", 500 },
178 {
this,
"errorLimit", 500 },
179 {
this,
"fatalLimit", 500 },
180 {
this,
"alwaysLimit", 0 } } };
188 "tracedInactiveSources",
190 "for each message source specified, print a stack trace for the unprotected and unseen messages" };
193 this,
"loggedStreams", {},
"MessageStream sources we want to dump into a logfile" };
206 std::array<int, MSG::NUM_LEVELS>
msg = { { 0 } };
MsgStream & msg() const
shortcut for the method msgStream(MSG::INFO)
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Implementation of property with value of concrete type.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
static const std::string getDefaultTimeFormat()
Get the default time format string.
static const std::string getDefaultFormat()
Get the default format string.
std::ostream * m_defaultStream
Pointer to the output stream.
Gaudi::Property< bool > m_color
std::multimap< int, NamedStream > StreamMap
void reportMessage(const Message &message) override
Gaudi::Property< std::string > m_defaultTimeFormat
std::recursive_mutex m_messageMapMutex
Mutex to synchronize multiple access to m_messageMap.
Message m_defaultMessage
Default Message.
MessageMap m_messageMap
Message map.
Gaudi::Property< bool > m_suppressProp
StatusCode reinitialize() override
StreamMap m_streamMap
Stream map.
std::map< std::string, MsgAry, std::less<> > m_sourceMap
ThresholdMap m_thresholdMap
Output level threshold map.
Gaudi::Property< bool > m_inactCount
void setDefaultStream(std::ostream *stream) override
std::map< std::string, std::shared_ptr< std::ostream >, std::less<> > m_loggedStreams
std::array< Gaudi::Property< int >, MSG::NUM_LEVELS > m_msgLimit
virtual void i_onSuppressChanged(bool v)
Gaudi::Property< std::string > m_defaultFormatProp
void setupInactCount(Gaudi::Details::PropertyBase &prop)
void setupThreshold(Gaudi::Details::PropertyBase &prop)
std::map< std::string, MsgAry, std::less<> > m_inactiveMap
std::array< int, MSG::NUM_LEVELS > m_msgCount
std::array< Gaudi::Property< std::vector< std::string > >, MSG::NUM_LEVELS > m_logColors
int outputLevel() const override
virtual void i_onDefaultFormatChanged(const std::string &v)
int messageCount(MSG::Level logLevel) const override
void setOutputLevel(int new_level) override
virtual void i_reportMessage(const Message &msg, int outputLevel)
Internal implementation of reportMessage(const Message&,int) without lock.
StatusCode initialize() override
bool useColor() const override
void eraseStream() override
std::string m_defaultFormat
std::array< Gaudi::Property< std::vector< std::string > >, MSG::NUM_LEVELS > m_thresholdProp
void eraseMessage() override
void setupLimits(Gaudi::Details::PropertyBase &prop)
StatusCode finalize() override
Gaudi::Property< std::vector< std::string > > m_tracedInactiveSources
std::string getLogColor(int logLevel) const override
Gaudi::Property< unsigned int > m_statLevel
StatusCode setPropertyRepr(const std::string &n, const std::string &r) override
std::map< std::string, int, std::less<> > ThresholdMap
std::recursive_mutex m_thresholdMapMutex
Mutex to synchronize multiple access to m_thresholdMap (.
void setupColors(Gaudi::Details::PropertyBase &prop)
std::multimap< StatusCode, Message > MessageMap
Gaudi::Property< bool > m_stats
std::recursive_mutex m_reportMutex
Mutex to synchronize multiple threads printing.
std::ostream * defaultStream() const override
Gaudi::Property< std::map< std::string, std::string, std::less<> > > m_loggedStreamsName
std::pair< std::string, std::ostream * > NamedStream
void insertMessage(const StatusCode &code, Message message) override
void insertStream(int message_type, std::string name, std::ostream *stream) override
MessageSvc(const std::string &name, ISvcLocator *svcloc)
void incrInactiveCount(MSG::Level level, std::string_view src) override
std::string m_logColorCodes[MSG::NUM_LEVELS]
const std::string & name() const override
Retrieve name of the service.
This class is used for returning status codes from appropriate routines.
Base class used to extend a class implementing other interfaces.
MsgAry()=default
Default constructor.
std::array< int, MSG::NUM_LEVELS > msg
Internal array of counters.