The Gaudi Framework  v28r3 (cc1cf868)
IssueSeverity Class Referencefinal

#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 (IssueSeverity::Level level, int line, std::string file, std::string msg="")
 
 IssueSeverity (IssueSeverity::Level level, std::string msg="")
 
 IssueSeverity (const IssueSeverity &)=delete
 
IssueSeverityoperator= (const IssueSeverity &)=delete
 
 IssueSeverity (IssueSeverity &&) noexcept
 
IssueSeverityoperator= (IssueSeverity &&) noexcept
 
 ~IssueSeverity ()
 
void setLevel (const IssueSeverity::Level &l)
 
void setMsg (std::string m)
 
IssueSeverity::Level getLevel () const
 
std::string getMsg () const
 
std::string getOrigin () const
 
void report ()
 

Private Attributes

std::string m_file
 
std::string m_msg
 
int m_line = 0
 
IssueSeverity::Level m_level = IssueSeverity::NIL
 
bool m_reported = true
 

Static Private Attributes

static bool m_init
 
static IIssueLoggerm_ers
 

Friends

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

Detailed Description

Definition at line 24 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 28 of file IssueSeverity.h.

Constructor & Destructor Documentation

IssueSeverity::IssueSeverity ( )
inline

Definition at line 44 of file IssueSeverity.h.

44 {}
IssueSeverity::IssueSeverity ( IssueSeverity::Level  level,
int  line,
std::string  file,
std::string  msg = "" 
)
inline

Definition at line 89 of file IssueSeverity.h.

91  :
92  m_file(std::move(file)),m_msg(std::move(msg)), m_line(line), m_level(level), m_reported(false) {
93  report();
94 }
std::string m_file
Definition: IssueSeverity.h:75
std::string m_msg
Definition: IssueSeverity.h:76
IssueSeverity::Level m_level
Definition: IssueSeverity.h:79
T move(T...args)
IssueSeverity::IssueSeverity ( IssueSeverity::Level  level,
std::string  msg = "" 
)
inline

Definition at line 96 of file IssueSeverity.h.

96  :
97  IssueSeverity(std::move(level),0,"??",std::move(msg)) { }
T move(T...args)
IssueSeverity::IssueSeverity ( const IssueSeverity )
delete
IssueSeverity::IssueSeverity ( IssueSeverity &&  rhs)
inlinenoexcept

Definition at line 99 of file IssueSeverity.h.

99  {
100  m_file = std::move(rhs.m_file);
101  m_msg = std::move(rhs.m_msg);
102  m_line = rhs.m_line;
103  m_level = rhs.m_level;
104  m_reported = std::exchange( rhs.m_reported, true );
105 }
std::string m_file
Definition: IssueSeverity.h:75
std::string m_msg
Definition: IssueSeverity.h:76
IssueSeverity::Level m_level
Definition: IssueSeverity.h:79
T move(T...args)
IssueSeverity::~IssueSeverity ( )

Definition at line 16 of file IssueSeverity.cpp.

16  {
17  if (!m_reported) {
18  report();
19  }
20 }

Member Function Documentation

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

Definition at line 64 of file IssueSeverity.h.

64 { return m_level; }
IssueSeverity::Level m_level
Definition: IssueSeverity.h:79
std::string IssueSeverity::getMsg ( ) const
inline

Definition at line 65 of file IssueSeverity.h.

65 { return m_msg; }
std::string m_msg
Definition: IssueSeverity.h:76
std::string IssueSeverity::getOrigin ( ) const

Definition at line 37 of file IssueSeverity.cpp.

37  {
38  return m_file + ":" + std::to_string(m_line);
39 }
T to_string(T...args)
std::string m_file
Definition: IssueSeverity.h:75
IssueSeverity& IssueSeverity::operator= ( const IssueSeverity )
delete
IssueSeverity & IssueSeverity::operator= ( IssueSeverity &&  rhs)
inlinenoexcept

Definition at line 107 of file IssueSeverity.h.

107  {
108  m_file = std::move(rhs.m_file);
109  m_msg = std::move(rhs.m_msg);
110  m_line = rhs.m_line;
111  m_level = rhs.m_level;
112  m_reported = std::exchange( rhs.m_reported, true );
113  return *this;
114 }
std::string m_file
Definition: IssueSeverity.h:75
std::string m_msg
Definition: IssueSeverity.h:76
IssueSeverity::Level m_level
Definition: IssueSeverity.h:79
T move(T...args)
void IssueSeverity::report ( )

Definition at line 23 of file IssueSeverity.cpp.

23  {
24  if (!m_init) {
25  m_init = true;
26  m_ers = Gaudi::svcLocator()->service<IIssueLogger>("IssueLogger").get();
27  }
28  if (m_ers) {
29  m_ers->report(*this);
30  } else {
31  std::cerr << *this << std::endl;
32  }
33  m_reported = true;
34 }
static bool m_init
Definition: IssueSeverity.h:82
static IIssueLogger * m_ers
Definition: IssueSeverity.h:83
virtual void report(IssueSeverity::Level level, const std::string &msg, const std::string &origin)=0
T endl(T...args)
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
Definition: ISvcLocator.h:78
GAUDI_API ISvcLocator * svcLocator()
void IssueSeverity::setLevel ( const IssueSeverity::Level l)
inline

Definition at line 57 of file IssueSeverity.h.

57  {
58  m_level = l;
59  }
IssueSeverity::Level m_level
Definition: IssueSeverity.h:79
dictionary l
Definition: gaudirun.py:421
void IssueSeverity::setMsg ( std::string  m)
inline

Definition at line 60 of file IssueSeverity.h.

60  {
61  m_msg = std::move(m);
62  }
std::string m_msg
Definition: IssueSeverity.h:76
T move(T...args)

Friends And Related Function Documentation

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

Definition at line 116 of file IssueSeverity.h.

116  {
117  os << "ISSUE: level " << rhs.getLevel() << " from: " << rhs.getOrigin()
118  << " msg: " << rhs.getMsg();
119  return os;
120 }
std::string getOrigin() const
IssueSeverity::Level getLevel() const
Definition: IssueSeverity.h:64
std::string getMsg() const
Definition: IssueSeverity.h:65

Member Data Documentation

IIssueLogger * IssueSeverity::m_ers
staticprivate

Definition at line 83 of file IssueSeverity.h.

std::string IssueSeverity::m_file
private

Definition at line 75 of file IssueSeverity.h.

bool IssueSeverity::m_init
staticprivate

Definition at line 82 of file IssueSeverity.h.

IssueSeverity::Level IssueSeverity::m_level = IssueSeverity::NIL
private

Definition at line 79 of file IssueSeverity.h.

int IssueSeverity::m_line = 0
private

Definition at line 78 of file IssueSeverity.h.

std::string IssueSeverity::m_msg
private

Definition at line 76 of file IssueSeverity.h.

bool IssueSeverity::m_reported = true
private

Definition at line 80 of file IssueSeverity.h.


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