Auxiliary data structure for logger message.
More...
#include <JLoggerMessage.hh>
Auxiliary data structure for logger message.
Definition at line 36 of file JLoggerMessage.hh.
◆ JLoggerMessage() [1/2]
JDB::JLoggerMessage::JLoggerMessage |
( |
| ) |
|
|
inline |
◆ JLoggerMessage() [2/2]
Copy constructor.
- Parameters
-
Definition at line 49 of file JLoggerMessage.hh.
50 {
54
55 if (datalog.source == MESSAGE_TAG) {
56
57 this->
tag = datalog.source;
58
59 istringstream is(datalog.data);
60
62
63 this->
datim.
set(datalog.utc / 1000, (
float) (datalog.utc%1000) * 1.0e-3,
true);
64
65 while (is.peek() != EOF && isspace((char) is.peek())) { is.ignore(1); }
66
68
69 } else {
70
71 THROW(
JParseError,
"Invalid string " << datalog.source <<
" " << datalog.data);
72 }
73
74 } else {
75
77 }
78 }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Exception for parsing value.
std::istream & getline(std::istream &in, JString &object)
Read string from input stream until end of line.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
KM3NeT DAQ data structures and auxiliaries.
void set(const bool utc=false)
Set to current local time.
◆ match()
bool JDB::JLoggerMessage::match |
( |
const JLoggerMessage & | message | ) |
const |
|
inline |
Get match.
- Parameters
-
- Returns
- true if message matches; else false
Definition at line 87 of file JLoggerMessage.hh.
88 {
90
91 if (!message.tag .empty() && message.tag !=
tag) {
return false; }
92 if (!message.process .empty() && message.process !=
process) {
return false; }
93 if (!message.nickname.empty() && message.nickname !=
nickname) {
return false; }
94 if (!message.ip .empty() && message.ip !=
ip) {
return false; }
95 if (!message.fullname.empty() && message.fullname !=
fullname) {
return false; }
96 if (!message.level .empty() && message.level !=
level) {
return false; }
97 if (!message.data .empty() && !regex_match(
data, regex(message.data))) {
return false; }
98
99 return true;
100 }
◆ hasTime()
bool JDB::JLoggerMessage::hasTime |
( |
| ) |
const |
|
inline |
Check if message has date and time.
- Returns
- true if messages has date and time; else false
Definition at line 108 of file JLoggerMessage.hh.
109 {
111
112 return (
tag != DISPTAG_Born.toString() &&
113 tag != DISPTAG_Died.toString());
114 }
◆ getTime()
long int JDB::JLoggerMessage::getTime |
( |
| ) |
const |
|
inline |
Get UTC time.
- Returns
- time [ms]
Definition at line 122 of file JLoggerMessage.hh.
123 {
124 return (
long int) 1000 * (
long int)
datim.
getTime() + (
long int) 500;
125 }
time_t getTime() const
time
◆ operator>>
std::istream & operator>> |
( |
std::istream & | in, |
|
|
JLoggerMessage & | object ) |
|
friend |
Read message from input.
- Parameters
-
in | input stream |
object | message |
- Returns
- input stream
Definition at line 135 of file JLoggerMessage.hh.
136 {
138
140
141 in >> object.file_name
142 >> object.tag
143 >> object.process;
144
145 if (
object.
tag != DISPTAG_Born.toString() &&
146 object.tag != DISPTAG_Died.toString()) {
147
148 in >> object.datim
149 >> object.ip
150 >> object.nickname
151 >> object.level;
152
153 while (in.peek() != EOF && isspace((char) in.peek())) { in.ignore(1); }
154
156
157 } else {
158
159 return in >> object.fullname;
160 }
161 }
JLoggerMessage()
Default constructor.
◆ operator<<
std::ostream & operator<< |
( |
std::ostream & | out, |
|
|
const JLoggerMessage & | object ) |
|
friend |
Write message to output.
- Parameters
-
out | output stream |
object | message |
- Returns
- output stream
Definition at line 171 of file JLoggerMessage.hh.
172 {
175
176 if (
object.
tag != DISPTAG_Born.toString() &&
177 object.tag != DISPTAG_Died.toString()) {
178
180 << object.tag << ' ' << right;
181 out << object.datim << ' ';
182
183
184 out << object.nickname << ' ';
185
186 out << object.data;
187
188 } else {
189
190 out << object.tag << ' ';
191
192 out << object.fullname;
193 }
194
195 return out;
196 }
Auxiliary data structure for alignment of data.
◆ file_name
std::string JDB::JLoggerMessage::file_name |
◆ tag
std::string JDB::JLoggerMessage::tag |
◆ process
std::string JDB::JLoggerMessage::process |
◆ datim
◆ ip
std::string JDB::JLoggerMessage::ip |
◆ nickname
std::string JDB::JLoggerMessage::nickname |
◆ fullname
std::string JDB::JLoggerMessage::fullname |
◆ level
std::string JDB::JLoggerMessage::level |
◆ data
std::string JDB::JLoggerMessage::data |
The documentation for this struct was generated from the following file: