# class Debugger | An object that logs messages on creation and destruction. More...
Full name | `TelEngine::Debugger`
Definition | `#include <yateclass.h>`
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Types

- enum Formatting { None = 0, Relative, Absolute, Textual, TextLocal, TextSep, TextLSep, }

#### Public Methods

- explicit Debugger (const char* name, const char* format = 0, ...)
- Debugger (int level, const char* name, const char* format = 0, ...)
- ~Debugger ()

#### Public Static Methods

- 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 enableOutput (bool enable = true, bool colorize = false)
- static Formatting getFormatting ()
- static void setFormatting (Formatting format)
- static unsigned int formatTime (char* buf, Formatting format = getFormatting())

## Detailed Description

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 { None = 0, Relative, Absolute, Textual, TextLocal, TextSep, TextLSep, } | ### Formatting

Timestamp formatting

explicit Debugger (const char* name, const char* format = 0, ...) | ### Debugger

The constructor prints the method entry message and indents.

Parameters:

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, ...) | ### Debugger

The constructor prints the method entry message and indents.

Parameters:

level | The level of the message
name | Name of the function or block entered, must be static
format | printf() style format string

~Debugger () | ### ~Debugger

The destructor prints the method leave message and deindents.

void setOutput (void (*outFunc)(const char*,int) = 0) | ### setOutput

[static]

Set the output callback

Parameters:

outFunc | Pointer to the output function, NULL to use stderr

void setIntOut (void (*outFunc)(const char*,int) = 0) | ### setIntOut

[static]

Set the interactive output callback

Parameters:

outFunc | Pointer to the output function, NULL to disable

void setAlarmHook (void (*alarmFunc)(const char*,int,const char*,const char*) = 0) | ### setAlarmHook

[static]

Set the alarm hook callback

Parameters:

alarmFunc | Pointer to the alarm callback function, NULL to disable

void enableOutput (bool enable = true, bool colorize = false) | ### enableOutput

[static]

Enable or disable the debug output

Parameters:

enable | Set to true to globally enable output
colorize | Enable ANSI colorization of output

Formatting getFormatting () | ### getFormatting

[static]

Retrieve the format of timestamps

Returns: The current formatting type for timestamps

void setFormatting (Formatting format) | ### setFormatting

[static]

Set the format of timestamps on output messages and set the time start reference

Parameters:

format | Desired timestamp formatting

unsigned int formatTime (char* buf, Formatting format = getFormatting()) | ### formatTime

[static]

Fill a buffer with a current timestamp prefix

Parameters:

buf | Buffer to fill, must be at least 24 characters long
format | Desired timestamp formatting

Returns: Length of the prefix written in buffer excluding final NUL

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.