39class Monitor:
private std::streambuf,
public std::ostream{
52 Monitor(
const string aProcessName);
Generic C utility functions.
MonitorMessageType
Enumerator to describe the different types of messages.
Definition Monitor.h:16
@ monitor_info_2
Nominal message (verbosity >=2): function call.
Definition Monitor.h:18
@ monitor_error
Error message.
Definition Monitor.h:23
@ monitor_status
Status message (verbosity >=1).
Definition Monitor.h:17
@ monitor_warning
Warning message.
Definition Monitor.h:24
@ monitor_fatal
Fatal message.
Definition Monitor.h:22
@ monitor_info_3
Nominal message (verbosity >=3): function tasks.
Definition Monitor.h:19
@ monitor_info_4
Nominal message (verbosity >=4): debugging.
Definition Monitor.h:20
@ monitor_n
Number of message types.
Definition Monitor.h:25
@ monitor_info_5
Nominal message (verbosity >=5).
Definition Monitor.h:21
Monitor a GWOLLUM processing.
Definition Monitor.h:39
bool GetStatus(void)
Returns the object status.
Definition Monitor.h:109
void SetStatus(const bool aNewStatus)
Sets a new object status.
Definition Monitor.h:115
void SetVerbosityLevel(const unsigned int aVerbosity)
Sets the verbosity level.
Definition Monitor.h:73
time_t timer_start
Timer start.
Definition Monitor.h:131
bool status
Object status.
Definition Monitor.h:126
unsigned int GetVerbosityLevel(void)
Returns the verbosity level.
Definition Monitor.h:78
struct tm * ptm
GMT time.
Definition Monitor.h:129
string GetProcessingTimeString(void)
Returns the current processing duration as a string.
Definition Monitor.cc:42
void PrintMessage(void)
Prints the current message.
Definition Monitor.cc:76
time_t timer
Timer.
Definition Monitor.h:130
unsigned int verbosity
Verbosity level.
Definition Monitor.h:125
string message
Message.
Definition Monitor.h:133
void UpdateStatus(const bool aStatus)
Updates the object status.
Definition Monitor.h:121
string GetProcessDate(void)
Returns the current process date (UTC) as a formatted string.
Definition Monitor.cc:52
void MakeMessage(char aChar)
Builds the message one character at a time.
Definition Monitor.cc:124
void SetMessageType(const MonitorMessageType aMessageType)
Sets the message type.
Definition Monitor.h:84
MonitorMessageType message_type
Message type.
Definition Monitor.h:134
int overflow(int aChar) override
Overrides the std::basic_streambuf::overflow() function.
Definition Monitor.cc:117
string procname
Process name.
Definition Monitor.h:127
unsigned int GetProcessingTime(void)
Returns the current processing duration [s].
Definition Monitor.h:90
virtual ~Monitor(void)
Destructor of the Monitor class.
Definition Monitor.cc:36