Функция ClogLog() и макрос CLOG

Функция ClogLog() выполняет запись в журнал.

Функция ClogLog() предназначена для использования в программах на языке C. В программах на языке C++ используйте функцию Logger::Log() или макросы LOG_*.

Описание функции ClogLog() и макросов для быстрого доступа к ней представлено в файле /opt/KasperskyOS-Community-Edition-<version>/sysroot-*-kos/include/component/logrr/clog/clog.h.

component/logrr/clog/clog.h (фрагмент)

__attribute__((format(printf, 6, 7)))

void ClogLog(const char *module, LogLevel level, const char *file, int line, const char *func, const char *message, ...);

#define CLOG_TRACE_IMPL_EX(level, file, line, func, ...) \

ClogLog(LOG_MODULE, level, file, line, func, __VA_ARGS__)

#define CLOG_TRACE_IMPL(level, ...) \

CLOG_TRACE_IMPL_EX((level), \

__FILENAME__, \

__LINE__, \

__func__, \

__VA_ARGS__)

#define __CLOG_LEVEL_TRACE__ LogrrLogLevel_Trace

#define __CLOG_LEVEL_DEBUG__ LogrrLogLevel_Debug

#define __CLOG_LEVEL_INFO__ LogrrLogLevel_Info

#define __CLOG_LEVEL_WARNING__ LogrrLogLevel_Warning

#define __CLOG_LEVEL_ERROR__ LogrrLogLevel_Error

#define __CLOG_LEVEL_CRITICAL__ LogrrLogLevel_Critical

#define CLOG(level, ...) CLOG_TRACE_IMPL(__CLOG_LEVEL_ ## level ## __, __VA_ARGS__)

Параметры функции ClogLog():

Макрос быстрого доступа к функции ClogLog()

Вместо вызова функции ClogLog() вы можете использовать макрос, описание которого представлено в файле component/logrr/clog/clog.h. Этот макрос является вариационным (принимает переменное число параметров), что позволяет не указывать все параметры функции ClogLog(). При вызове макроса достаточно указать уровень журналирования и текст сообщения или строку форматирования сообщения со значениями параметров. Используемый уровень журналирования level определяется первым параметром макроса. Пример использования этого макроса представлен в разделе "Отправка сообщений в журнал с помощью макросов".

В начало