Yate
|
An object that logs messages on creation and destruction. More...
#include <yateclass.h>
Public Types | |
enum | Formatting { None = 0, Relative, Absolute, Textual, TextLocal, TextSep, TextLSep } |
Public Member Functions | |
Debugger (const char *name, const char *format=0,...) | |
Debugger (int level, const char *name, const char *format=0,...) | |
~Debugger () | |
Static Public Member Functions | |
static void | setOutput (void(*outFunc)(const char *, int)=0) |
static void | setIntOut (void(*outFunc)(const char *, int)=0) |
static void | setAlarmHook (void(*alarmFunc)(const char *, int, const char *, const char *)=0) |
static void | setRelayHook (void(*relayFunc)(int, const char *, const char *, const char *)=0) |
static void | enableOutput (bool enable=true, bool colorize=false) |
static uint32_t | getStartTimeSec () |
static Formatting | getFormatting () |
static void | setFormatting (Formatting format, uint32_t startTimeSec=0) |
static unsigned int | formatTime (char *buf, Formatting format=getFormatting()) |
static void | relayOutput (int level, char *buffer, const char *component=0, const char *info=0) |
An object that logs messages on creation and destruction.
This class is used as an automatic variable that logs messages on creation and destruction (when the instruction block is left or function returns). IMPORTANT: the name is not copied so it should best be static.
enum Formatting |
Timestamp formatting
|
explicit |
The constructor prints the method entry message and indents.
name | Name of the function or block entered, must be static |
format | printf() style format string |
Debugger | ( | int | level, |
const char * | name, | ||
const char * | format = 0 , |
||
... | |||
) |
The constructor prints the method entry message and indents.
level | The level of the message |
name | Name of the function or block entered, must be static |
format | printf() style format string |
~Debugger | ( | ) |
The destructor prints the method leave message and deindents.
|
static |
Enable or disable the debug output
enable | Set to true to globally enable output |
colorize | Enable ANSI colorization of output |
|
static |
Fill a buffer with a current timestamp prefix
buf | Buffer to fill, must be at least 24 characters long |
format | Desired timestamp formatting |
|
static |
Retrieve the format of timestamps
|
static |
Retrieve the start timestamp
|
static |
Processes a preformatted string as Output, Debug or Alarm. This method is intended to relay messages from other processes, DO NOT USE!
level | The level of the debug or alarm, negative for an output |
buffer | Preformatted text buffer, MUST HAVE SPACE for at least strlen + 2 |
component | Component that emits the alarm if applicable |
info | Extra alarm information if applicable |
|
static |
Set the alarm hook callback
alarmFunc | Pointer to the alarm callback function, NULL to disable |
|
static |
Set the format of timestamps on output messages and set the time start reference
format | Desired timestamp formatting |
startTimeSec | Optional start timestamp (in seconds) |
|
static |
Set the interactive output callback
outFunc | Pointer to the output function, NULL to disable |
|
static |
Set the output callback
outFunc | Pointer to the output function, NULL to use stderr |
|
static |
Set the relay hook callback that will process all Output, Debug and Alarm
relayFunc | Pointer to the relay callback function, NULL to disable |