UniSet  1.4.0
Классы | Открытые члены
Класс DebugStream

#include <DebugStream.h>

Полный список членов класса

Классы

struct  debugstream_internal
 So that public parts of DebugStream does not need to know about filebuf. Подробнее...

Открытые члены

 DebugStream (Debug::type t=Debug::NONE)
 Constructor, sets the debug level to t.
 DebugStream (char const *f, Debug::type t=Debug::NONE)
 Constructor, sets the log file to f, and the debug level to t.
void level (Debug::type t)
 Sets the debug level to t.
Debug::type level () const
 Returns the current debug level.
void addLevel (Debug::type t)
 Adds t to the current debug level.
void delLevel (Debug::type t)
 Deletes t from the current debug level.
void logFile (const std::string f)
 Sets the debugstreams' logfile to f.
std::string getLogFile ()
bool debugging (Debug::type t=Debug::ANY) const
 Returns true if t is part of the current debug level.
std::ostream & debug (Debug::type t=Debug::ANY)
std::ostream & operator[] (Debug::type t)
std::ostream & to_end (Debug::type t)
std::ostream & operator() (Debug::type t)
void showDateTime (bool s)
std::ostream & print_date (Debug::type t, char brk='/')
std::ostream & print_time (Debug::type t, char brk=':')
std::ostream & print_datetime (Debug::type t)
std::ostream & pos (int x, int y)
const DebugStreamoperator= (const DebugStream &r)

Подробное описание

DebugStream is a ostream intended for debug output. It has also support for a logfile. Debug output is output to cerr and if the logfile is set, to the logfile.

Example of Usage: DebugStream debug; debug.level(Debug::INFO); debug.debug(Debug::WARN) << "WARN\n"; debug[Debug::INFO] << "INFO\n"; debug << "Always\n";

Will output: INFO Always

If you want to have debug output from time critical code you should use this construct: if (debug.debugging(Debug::INFO)) { debug << "...debug output...\n"; }

To give debug info even if no debug (NONE) is requested: debug << "... always output ...\n";

To give debug output regardless of what debug level is set (!NONE): debug.debug() << "...on debug output...\n"; debug[Debug::ANY] << "...on debug output...\n";

To give debug output when a specific debug level is set (INFO): debug.debug(Debug::INFO) << "...info...\n"; debug[Debug::INFO] << "...info...\n";

To give debug output when either on of debug levels is set (INFO or CRIT): debug.debug(Debug::type(Debug::INFO | Debug::CRIT)) << "...info/crit...\n"; debug[Debug::type(Debug::INFO | Debug::CRIT)] << "...info/crit...\n";


Конструктор(ы)

DebugStream::DebugStream ( Debug::type  t = Debug::NONE) [explicit]

Constructor, sets the debug level to t.

DebugStream::DebugStream ( char const *  f,
Debug::type  t = Debug::NONE 
) [explicit]

Constructor, sets the log file to f, and the debug level to t.


Методы

void DebugStream::addLevel ( Debug::type  t) [inline]

Adds t to the current debug level.

std::ostream & DebugStream::debug ( Debug::type  t = Debug::ANY)

Returns the no-op stream if t is not part of the current debug level otherwise the real debug stream is used.

bool DebugStream::debugging ( Debug::type  t = Debug::ANY) const [inline]
void DebugStream::delLevel ( Debug::type  t) [inline]

Deletes t from the current debug level.

void DebugStream::level ( Debug::type  t) [inline]

Sets the debug level to t.

Debug::type DebugStream::level ( ) const [inline]

Returns the current debug level.

void DebugStream::logFile ( const std::string  f)

Sets the debugstreams' logfile to f.

Перекрестные ссылки DebugStream::debugstream_internal::fbuf.

std::ostream & DebugStream::operator() ( Debug::type  t)

Вывод продолжения логов (без даты и времени)

std::ostream& DebugStream::operator[] ( Debug::type  t) [inline]

This is an operator to give a more convenient use: dbgstream[Debug::INFO] << "Info!\n"; Вывод осуществляется с датой и временем (если они не отключены)

std::ostream& DebugStream::to_end ( Debug::type  t) [inline]

Вывод продолжения логов (без даты и времени)


Объявления и описания членов классов находятся в файлах: