LRAUV  revA
Syslog.h
Go to the documentation of this file.
1 
10 #ifdef ERROR // A workaround for wingdi.h
11 #undef ERROR
12 #endif
13 
14 #ifndef SYSLOGSEVERITY_H_
15 #define SYSLOGSEVERITY_H_
16 
24 class Syslog
25 {
26 public:
28  typedef enum { NONE = -1,
29  DEBUG = 0x0000, //0 -- really 2 bits
30  INFO = 0x0004, //1
31  ERROR = 0x0008, //2
32  IMPORTANT = 0x000C, //3
33  CRITICAL = 0x0010, //4
34  FAULT = 0x0014, //5 // Follows Critical for v3 unserialize compatability
35  } Severity;
36 
37  static const int SEVERITY_MASK = 0x001C;
38 
39  static const char *SeverityToString( Severity sev )
40  {
41  switch( sev )
42  {
43  case Syslog::NONE:
44  return "";
45  case Syslog::DEBUG:
46  return "DEBUG";
47  case Syslog::INFO:
48  return "INFO";
49  case Syslog::ERROR:
50  return "ERROR";
51  case Syslog::IMPORTANT:
52  return "IMPORTANT";
53  case Syslog::CRITICAL:
54  return "CRITICAL";
55  case Syslog::FAULT:
56  return "FAULT";
57  }
58 
59  return "(undefined)";
60  };
61 
62  static Severity StringToSeverity( const char* sev )
63  {
64  if( 0 == strncasecmp( "DEBUG", sev, 6 ) )
65  {
66  return Syslog::DEBUG;
67  }
68  else if( 0 == strncasecmp( "INFO", sev, 5 ) )
69  {
70  return Syslog::INFO;
71  }
72  else if( 0 == strncasecmp( "ERROR", sev, 6 ) )
73  {
74  return Syslog::ERROR;
75  }
76  else if( 0 == strncasecmp( "IMPORTANT", sev, 10 ) )
77  {
78  return Syslog::IMPORTANT;
79  }
80  else if( 0 == strncasecmp( "CRITICAL", sev, 9 ) )
81  {
82  return Syslog::CRITICAL;
83  }
84  else if( 0 == strncasecmp( "FAULT", sev, 6 ) )
85  {
86  return Syslog::FAULT;
87  }
88  else
89  {
90  return Syslog::NONE;
91  }
92 
93  };
94 
95 };
96 
97 #endif /*SYSLOGSEVERITY_H_*/
Definition: Syslog.h:33
Definition: Syslog.h:32
static Severity StringToSeverity(const char *sev)
Definition: Syslog.h:62
Definition: Syslog.h:31
static const int SEVERITY_MASK
Definition: Syslog.h:37
Definition: Syslog.h:29
Definition: Syslog.h:28
static const char * SeverityToString(Severity sev)
Definition: Syslog.h:39
Logging utility class that provides enumeration of the severity associated with each textual SyslogEn...
Definition: Syslog.h:24
Severity
An attempt to define different levels of syslog severity.
Definition: Syslog.h:28
Definition: Syslog.h:30
Definition: Syslog.h:34