All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IssueSeverity Class Reference

#include <GaudiKernel/IssueSeverity.h>

Collaboration diagram for IssueSeverity:

Public Types

enum  Level {
  NIL = 0, VERBOSE, DEBUG, DEBUG1,
  DEBUG2, DEBUG3, INFO, WARNING,
  RECOVERABLE, ERROR, FATAL, ALWAYS,
  NUM_LEVELS
}
 

Public Member Functions

 IssueSeverity ()
 
 IssueSeverity (const IssueSeverity::Level &level, int line, const std::string &file, const std::string &msg="")
 
 IssueSeverity (const IssueSeverity::Level &level, const std::string &msg="")
 
 IssueSeverity (const IssueSeverity &es)
 
 IssueSeverity (IssueSeverity *es)
 
IssueSeverityoperator= (const IssueSeverity &rhs)
 
 ~IssueSeverity ()
 
void setLevel (const IssueSeverity::Level &l)
 
void setMsg (const std::string &m)
 
IssueSeverity::Level getLevel () const
 
std::string getMsg () const
 
std::string getOrigin () const
 
void report ()
 
 operator StatusCode () const
 

Static Private Member Functions

static void init ()
 

Private Attributes

int m_line
 
std::string m_file
 
IssueSeverity::Level m_level
 
std::string m_msg
 
bool m_reported
 

Static Private Attributes

static bool m_init
 
static IIssueLoggerm_ers
 

Friends

std::ostream & operator<< (std::ostream &, const IssueSeverity &)
 

Detailed Description

Definition at line 42 of file IssueSeverity.h.

Member Enumeration Documentation

Enumerator
NIL 
VERBOSE 
DEBUG 
DEBUG1 
DEBUG2 
DEBUG3 
INFO 
WARNING 
RECOVERABLE 
ERROR 
FATAL 
ALWAYS 
NUM_LEVELS 

Definition at line 46 of file IssueSeverity.h.

Constructor & Destructor Documentation

IssueSeverity::IssueSeverity ( )
inline

Definition at line 109 of file IssueSeverity.h.

109  : m_line(0), m_file(""),
111  m_msg(""), m_reported(true) {}
std::string m_file
Definition: IssueSeverity.h:96
std::string m_msg
IssueSeverity::Level m_level
IssueSeverity::IssueSeverity ( const IssueSeverity::Level level,
int  line,
const std::string &  file,
const std::string &  msg = "" 
)
inline

Definition at line 113 of file IssueSeverity.h.

115  :
117 
118  init();
119  report();
120 
121 }
static void init()
std::string m_file
Definition: IssueSeverity.h:96
std::string m_msg
IssueSeverity::Level m_level
list file
Definition: ana.py:160
int line
Definition: ana.py:50
IssueSeverity::IssueSeverity ( const IssueSeverity::Level level,
const std::string &  msg = "" 
)
inline

Definition at line 123 of file IssueSeverity.h.

124  :
125  m_line(0), m_file("??"), m_level(level), m_msg(msg), m_reported(false) {
126 
127  init();
128  report();
129 
130 }
static void init()
std::string m_file
Definition: IssueSeverity.h:96
std::string m_msg
IssueSeverity::Level m_level
IssueSeverity::IssueSeverity ( const IssueSeverity es)
inline

Definition at line 132 of file IssueSeverity.h.

132  {
133  m_line = rhs.m_line;
134  m_file = rhs.m_file;
135  m_level = rhs.m_level;
136  m_msg = rhs.m_msg;
137  m_reported = true;
138 }
std::string m_file
Definition: IssueSeverity.h:96
std::string m_msg
IssueSeverity::Level m_level
IssueSeverity::IssueSeverity ( IssueSeverity es)
inline

Definition at line 140 of file IssueSeverity.h.

140  {
141  m_line = rhs->m_line;
142  m_file = rhs->m_file;
143  m_level = rhs->m_level;
144  m_msg = rhs->m_msg;
145  m_reported = true;
146 }
std::string m_file
Definition: IssueSeverity.h:96
std::string m_msg
IssueSeverity::Level m_level
IssueSeverity::~IssueSeverity ( )

Definition at line 22 of file IssueSeverity.cpp.

22  {
23 
24  if (!m_reported) {
25  report();
26  // do stuff
27  }
28 
29 }

Member Function Documentation

IssueSeverity::Level IssueSeverity::getLevel ( ) const
inline

Definition at line 82 of file IssueSeverity.h.

82 { return m_level; }
IssueSeverity::Level m_level
std::string IssueSeverity::getMsg ( ) const
inline

Definition at line 83 of file IssueSeverity.h.

83 { return m_msg; }
std::string m_msg
std::string IssueSeverity::getOrigin ( ) const

Definition at line 45 of file IssueSeverity.cpp.

45  {
46  std::ostringstream ost;
47  ost << m_file << ":" << m_line;
48  return ost.str();
49 }
std::string m_file
Definition: IssueSeverity.h:96
void IssueSeverity::init ( )
staticprivate

Definition at line 15 of file IssueSeverity.cpp.

15  {
16  if (!m_init) {
17  m_init = true;
18  m_ers = Gaudi::svcLocator()->service<IIssueLogger>("IssueLogger").get();
19  }
20 }
static bool m_init
Definition: IssueSeverity.h:98
static IIssueLogger * m_ers
Definition: IssueSeverity.h:99
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
Definition: ISvcLocator.h:82
GAUDI_API ISvcLocator * svcLocator()
IssueSeverity::operator StatusCode ( ) const

Definition at line 51 of file IssueSeverity.cpp.

51  {
53  return StatusCode(StatusCode::RECOVERABLE, *this);
54  } else if (m_level < IssueSeverity::ERROR) {
55  return StatusCode(StatusCode::SUCCESS, *this);
56  } else {
57  return StatusCode(StatusCode::FAILURE, *this);
58  }
59 }
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
IssueSeverity::Level m_level
IssueSeverity & IssueSeverity::operator= ( const IssueSeverity rhs)
inline

Definition at line 148 of file IssueSeverity.h.

148  {
149  m_line = rhs.m_line;
150  m_file = rhs.m_file;
151  m_level = rhs.m_level;
152  m_msg = rhs.m_level;
153  m_reported = true;
154  return *this;
155 }
std::string m_file
Definition: IssueSeverity.h:96
std::string m_msg
IssueSeverity::Level m_level
void IssueSeverity::report ( )

Definition at line 32 of file IssueSeverity.cpp.

32  {
33 
34  if (m_ers != 0) {
35  m_ers->report(this);
36  } else {
37  std::cerr << *this << std::endl;
38  }
39  m_reported = true;
40 
41 }
static IIssueLogger * m_ers
Definition: IssueSeverity.h:99
virtual void report(IssueSeverity::Level level, const std::string &msg, const std::string &origin)=0
void IssueSeverity::setLevel ( const IssueSeverity::Level l)
inline

Definition at line 75 of file IssueSeverity.h.

75  {
76  m_level = l;
77  }
IssueSeverity::Level m_level
dictionary l
Definition: gaudirun.py:365
void IssueSeverity::setMsg ( const std::string &  m)
inline

Definition at line 78 of file IssueSeverity.h.

78  {
79  m_msg = m;
80  }
std::string m_msg

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const IssueSeverity rhs 
)
friend

Definition at line 157 of file IssueSeverity.h.

157  {
158  os << "ISSUE: level " << rhs.getLevel() << " from: " << rhs.getOrigin()
159  << " msg: " << rhs.getMsg();
160  return os;
161 }
std::string getOrigin() const
IssueSeverity::Level getLevel() const
Definition: IssueSeverity.h:82
std::string getMsg() const
Definition: IssueSeverity.h:83

Member Data Documentation

IIssueLogger * IssueSeverity::m_ers
staticprivate

Definition at line 99 of file IssueSeverity.h.

std::string IssueSeverity::m_file
private

Definition at line 96 of file IssueSeverity.h.

bool IssueSeverity::m_init
staticprivate

Definition at line 98 of file IssueSeverity.h.

IssueSeverity::Level IssueSeverity::m_level
private

Definition at line 101 of file IssueSeverity.h.

int IssueSeverity::m_line
private

Definition at line 95 of file IssueSeverity.h.

std::string IssueSeverity::m_msg
private

Definition at line 102 of file IssueSeverity.h.

bool IssueSeverity::m_reported
private

Definition at line 103 of file IssueSeverity.h.


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