gis_helper_debug_write_lvl()

Вывод отладочного сообщения с заданным уровнем отладки.

Прототип:

#include <gis/gishelper.h>
int gis_helper_debug_write_lvl( gis_debug_level_t lvl, const char *prefix, const char *format, ... );

Аргументы:

lvl
Уровень отладки.
prefix
Префикс сообщения.
format
Описание форматирования строки.
...
Аргументы пользователя.

Библиотека:

gishelper

Описание:

Функция выводит отладочное сообщение с заданным уровнем отладки в установленном ранее режиме.

Возвращаемое значение:

EOK
Успешное завершение.
ENODATA
Установленный ранее уровень отладки ниже требуемого.
ENOENT
Не удалось вывести сообщение в режиме GIS_DEBUG_MODE_STD.
ESRCH
Не удалось вывести сообщение в режиме GIS_DEBUG_MODE_SLOG.
EFAULT
Не удалось открыть отладочный файл в режиме GIS_DEBUG_MODE_FD.
EBADFD
Не удалось вывести сообщение в файл отладочного вывода в режиме GIS_DEBUG_MODE_FD.

Примеры использования:

gis_helper_debug_mode_setmask( GIS_DEBUG_MODE_STD | GIS_DEBUG_MODE_FD );
gis_helper_debug_mode_setlvl( GIS_DEBUG_LEVEL_INFO );
gis_helper_debug_write_lvl( GIS_DEBUG_LEVEL_INFO, "[GIS]: ", "Testing INFO write level" );
gis_helper_debug_write_lvl( GIS_DEBUG_LEVEL_DEBUG, "[GIS]: ", "Testing DEBUG write level" );
string line;
bool found_info = false;
bool found_debug = false;
ifstream logfile( gis_helper_debug_file_getpath() );
if ( logfile )
{
while ( getline( logfile, line ) )
{
char *cstr = new char[line.length() + 1];
strcpy( cstr, line.c_str() );
char *istr = strstr( cstr, "Testing INFO write level" );
if ( istr != NULL )
found_info = true;
istr = strstr( cstr, "Testing DEBUG write level" );
if ( istr != NULL )
found_debug = true;
delete [] cstr;
}
if ( found_info == false || found_debug == true )
{
printf( "Wrong entries in log file\n" );
return 1;
}
logfile.close();
}

Классификация:

ПК ЦКИ для ЗОСРВ «Нейтрино»

Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

gis_helper_debug_write(), gis_helper_debug_write_mask()




Предыдущий раздел: Описание API картографического фреймворка