UniSet 2.32.1
|
Класс для вывода отладочных сообщений называется DebugStream. Сообщения могут выводится на экран и в файл, отбираться по определённым критериям и до определённого уровня.
Для использования нужно создать свой объект класса DebugStream или использовать глобальный объект UniSetTypes::unideb. Для переключения вывода отладки в файл, используйте функцию logFile(char const *f);
Описание всех имеющихся функций находится в файле DebugStream.h на английском языке.
Функция unideb[...] по умолчанию выводит в строку дату и время. Функция unideb(...) просто выводит строку (в конец предыдущему потоку).
\par Пример использования: \code #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; \endcode
Если вы хотите использовать отладочный вывод из критичного к времени кода, используйте следующую конструкцию:
\code if (unideb.debugging(Debug::INFO)) { unideb << "...debug output..." << endl; } \endcode
Конфигурирование логов можно производить, при помощи файла конфигурации или через командную строку.
Например UniSetTypes::unideb настраивается в конфигурационном файле следующим образом:
При запуске программ используйте ключ "--help" для получения подробной информации о настройке логов из командной строки