ewmscp  ..
Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
logstream::namedLevel Class Reference

#include <syslogstream.h>

Collaboration diagram for logstream::namedLevel:
[legend]

Static Public Member Functions

static level getLevelByName (const std::string &aName)
 
static const std::string & getNameByLevel (level aLevel)
 

Private Member Functions

 namedLevel (const std::string &aName, level aLevel)
 

Static Private Member Functions

static const std::vector< namedLevel > & getNameList ()
 

Private Attributes

std::string name
 
level Level
 

Detailed Description

Definition at line 20 of file syslogstream.h.

Constructor & Destructor Documentation

◆ namedLevel()

logstream::namedLevel::namedLevel ( const std::string &  aName,
level  aLevel 
)
inlineprivate

Definition at line 23 of file syslogstream.h.

23 : name(aName), Level(aLevel) {}

Member Function Documentation

◆ getLevelByName()

static level logstream::namedLevel::getLevelByName ( const std::string &  aName)
inlinestatic

Definition at line 36 of file syslogstream.h.

36  {
37  for (const auto& l : getNameList()) {
38  if (l.name == aName) {
39  return l.Level;
40  }
41  }
42  throw std::runtime_error("unknown level name " + aName);
43  }

References getNameList().

Here is the call graph for this function:

◆ getNameByLevel()

static const std::string& logstream::namedLevel::getNameByLevel ( level  aLevel)
inlinestatic

Definition at line 44 of file syslogstream.h.

44  {
45  for (const auto& l : getNameList()) {
46  if (l.Level == aLevel) {
47  return l.name;
48  }
49  }
50  throw std::runtime_error("illegal level");
51  }

References getNameList().

Referenced by operator<<(), and printErrors().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNameList()

static const std::vector<namedLevel>& logstream::namedLevel::getNameList ( )
inlinestaticprivate

Definition at line 24 of file syslogstream.h.

24  {
25 #define mapItem(s) {#s,static_cast<level>(LOG_##s)}
26  static decltype(getNameList()) nameList {
27  mapItem(EMERG), mapItem(ALERT), mapItem(CRIT),
28  mapItem(ERR), mapItem(WARNING),
29  mapItem(NOTICE), mapItem(INFO),
30  mapItem(DEBUG)
31  };
32 #undef mapItem
33  return nameList;
34  }

References mapItem.

Referenced by getLevelByName(), and getNameByLevel().

Here is the caller graph for this function:

Member Data Documentation

◆ Level

level logstream::namedLevel::Level
private

Definition at line 22 of file syslogstream.h.

◆ name

std::string logstream::namedLevel::name
private

Definition at line 21 of file syslogstream.h.


The documentation for this class was generated from the following file:
logstream::namedLevel::name
std::string name
Definition: syslogstream.h:21
mapItem
#define mapItem(s)
logstream::namedLevel::getNameList
static const std::vector< namedLevel > & getNameList()
Definition: syslogstream.h:24
logstream::namedLevel::Level
level Level
Definition: syslogstream.h:22