UniSet  2.6.0
Описание использования функций отладки

Класс для вывода отладочных сообщений называется DebugStream. Сообщения могут выводится на экран и в файл, отбираться по определённым критериям и до определённого уровня.

Для использования нужно создать свой объект класса DebugStream или использовать глобальный объект UniSetTypes::unideb. Для переключения вывода отладки в файл, используйте функцию logFile(char const *f);

Описание всех имеющихся функций находится в файле DebugStream.h на английском языке.

Функция unideb[...] по умолчанию выводит в строку дату и время. Функция unideb(...) просто выводит строку (в конец предыдущему потоку).

Пример использования:
#include "Debug.h"
#include "Configuration.h"
using namespace UniSetTypes;
...
unideb << "Этот текст будет выведен на экран в любом случае";
unideb.addLevel(Debug::CRIT); // показывать CRIT
unideb[Debug::CRIT] << "Этот текст будет выведен при разрешении выводить сообщения уровня CRIT";
unideb.delLevel(Debug::CRIT); // больше не показывать CRIT
// Отладочное сообщение будет выводиться при установленном уровне INFO или CRIT"
unideb[Debug::type(Debug::INFO | Debug::CRIT)] << "Отладочное сообщение";
// Вывод многострочного сообщения
unideb[Debug::INFO] << " вывод с датой и временем ";
unideb(Debug::INFO) << " продолжение вывода без даты и времени " << endl;

Если вы хотите использовать отладочный вывод из критичного к времени кода, используйте следующую конструкцию:

if (unideb.debugging(Debug::INFO)) {
unideb << "...debug output..." << endl;
}

Конфигурирование логов можно производить, при помощи файла конфигурации или через командную строку.

Например UniSetTypes::unideb настраивается в конфигурационном файле следующим образом:

<UniSetDebug name="unideb" levels="crit,warn" file=""/>

При запуске программ используйте ключ "&ndash;help" для получения подробной информации о настройке логов из командной строки