2 #include "GaudiKernel/MsgStream.h"
3 #include "GaudiKernel/IMessageSvc.h"
4 #include "GaudiKernel/GaudiException.h"
9 :
Auditor(name, pSvcLocator), m_error(0), m_fatal(0) {
11 declareProperty(
"Abort", m_abort =
false,
12 "Abort job upon illegal Algorithm return code");
13 declareProperty(
"Throw", m_throw =
false,
14 "Throw GaudiException upon illegal Algorithm return code");
32 log <<
MSG::INFO <<
"Both \"Throw\" and \"Abort\" options have been set."
33 <<
" Abort takes precedence." <<
endmsg;
45 std::ostringstream os;
46 os <<
"Illegal Return Code: Algorithm " << alg->
name()
47 <<
" reported an ERROR, but returned a StatusCode \"" << sc <<
"\"";
48 os << std::endl <<
"Error policy described in "
49 <<
"https://twiki.cern.ch/twiki/bin/view/AtlasComputing/ReportingErrors";
63 std::ostringstream os;
64 os <<
"Illegal Return Code: Algorithm " << alg->
name()
65 <<
" reported a FATAL, but returned a StatusCode \"" << sc <<
"\"";
66 os << std::endl <<
"Error policy described in "
67 <<
"https://twiki.cern.ch/twiki/bin/view/AtlasComputing/ReportingErrors";
90 std::map<std::string,int>::const_iterator itr;
94 <<
" instances where an Algorithm::execute() produced an ERROR "
95 <<
"but returned a SUCCESS:" << std::endl;
98 log << itr->first <<
": " << itr->second << std::endl;
107 <<
" instances where an Algorithm::execute() produced a FATAL "
108 <<
"but returned a SUCCESS:" << std::endl;
111 log << itr->first <<
": " << itr->second << std::endl;
124 std::map<std::string, int>::iterator itr;
Definition of the MsgStream class used to transmit messages.
Define general base for Gaudi exception.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
virtual const std::string & name() const
Retrieve the name of the instance.
SmartIF< IMessageSvc > & msgSvc() const
The standard message service.
std::map< std::string, int > m_algMap[2]
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Monitors the cpu time usage of each algorithm.
virtual ~AlgErrorAuditor()
virtual void beforeExecute(INamedInterface *alg)
virtual StatusCode finalize()
virtual const std::string & name() const =0
Retrieve the name of the instance.
void incrMap(const std::string &algName, int level)
#define DECLARE_COMPONENT(type)
This class is used for returning status codes from appropriate routines.
virtual int messageCount(MSG::Level level) const =0
Get the number of messages issued at a particular level.
bool isRecoverable() const
IInterface compliant class extending IInterface with the name() method.
virtual void afterExecute(INamedInterface *alg, const StatusCode &)
virtual StatusCode initialize()
Base class from which all concrete auditor classes should be derived.