artdaq_mfextensions  v1_06_02
ma_utils.h
1 #ifndef ERROR_HANDLER_UTILS_H
2 #define ERROR_HANDLER_UTILS_H
3 
4 #include "ErrorHandler/MessageAnalyzer/ma_types.h"
5 #include "messagefacility/Utilities/ELseverityLevel.h"
6 
7 namespace novadaq {
8 namespace errorhandler {
9 
10 inline std::string
11 trim_hostname(std::string const& host);
12 
13 inline node_type_t
14 get_source_from_msg(std::string& src, qt_mf_msg const& msg);
15 
16 inline std::string
17 get_message_type_str(message_type_t type);
18 
19 inline sev_code_t get_sev_from_string(std::string const& sev);
20 
21 } // end of namespace errorhandler
22 } // end of namespace novadaq
23 
24 // ------------------------------------------------------------------
25 // misc. utilities
26 
27 std::string
28 novadaq::errorhandler::trim_hostname(std::string const& host)
29 {
30  size_t pos = host.find('.');
31  if (pos == std::string::npos)
32  return host;
33  else
34  return host.substr(0, pos);
35 }
36 
43 novadaq::errorhandler::node_type_t
44 novadaq::errorhandler::get_source_from_msg(std::string& src, qt_mf_msg const& msg)
45 {
46  src = msg.app().toStdString();
47  return Framework;
48 }
49 
50 std::string
51 novadaq::errorhandler::get_message_type_str(message_type_t type)
52 {
53  switch (type)
54  {
55  case MSG_SYSTEM:
56  return "SYSTEM";
57  case MSG_ERROR:
58  return "ERROR";
59  case MSG_WARNING:
60  return "WARNING";
61  case MSG_INFO:
62  return "INFO";
63  case MSG_DEBUG:
64  return "DEBUG";
65  default:
66  return "UNKNOWN";
67  }
68 }
69 
70 sev_code_t novadaq::errorhandler::get_sev_from_string(std::string const& sev)
71 {
72  mf::ELseverityLevel elss(sev);
73 
74  int sevid = elss.getLevel();
75 
76  switch (sevid)
77  {
78  case mf::ELseverityLevel::ELsev_success:
79  case mf::ELseverityLevel::ELsev_zeroSeverity:
80  case mf::ELseverityLevel::ELsev_unspecified:
81  return SDEBUG;
82 
83  case mf::ELseverityLevel::ELsev_info:
84  return SINFO;
85 
86  case mf::ELseverityLevel::ELsev_warning:
87  return SWARNING;
88 
89  case mf::ELseverityLevel::ELsev_error:
90  case mf::ELseverityLevel::ELsev_severe:
91  case mf::ELseverityLevel::ELsev_highestSeverity:
92  default:
93  return SERROR;
94  }
95 }
96 
97 #endif
QString const & app() const
Get the application of the message
Definition: qt_mf_msg.hh:91
Qt wrapper around MessageFacility message
Definition: qt_mf_msg.hh:37