12 #include <sys/timeb.h> 26 #define LOG_PROVIDER CALDLogProvider::GetLogProvider() 30 #define INIT_LOG_PROVIDER CALDLogProvider::InitLogProvider() 33 #define FREE_LOG_PROVIDER CALDLogProvider::ReleseLogProvider() 36 #define TRACE_FUNC_NAME __PRETTY_FUNCTION__ 39 #define TRACE_BEG_PREFIX "{" 40 #define TRACE_END_PREFIX "}" 41 #define TRACE_THREAD_ID pthread_self() 43 #define TRACE_FB do{if(LOG_PROVIDER->m_LogSensitivity >= llTrace) LOG_PROVIDER->Trace(TRACE_FUNC_NAME, __FILE__, __LINE__, TRACE_BEG_PREFIX);}while(0) 44 #define TRACE_FE do{if(LOG_PROVIDER->m_LogSensitivity >= llTrace) LOG_PROVIDER->Trace(TRACE_FUNC_NAME, __FILE__, __LINE__, TRACE_END_PREFIX);}while(0) 45 #define TRACE(msg) do{if(LOG_PROVIDER->m_LogSensitivity >= llTrace) LOG_PROVIDER->Trace(TRACE_FUNC_NAME, __FILE__, __LINE__, msg);}while(0) 47 #define TRACE_ LOG_PROVIDER->Trace(TRACE_FUNC_NAME, __FILE__, __LINE__, 50 #define TRACE_CFB do{if(LOG_PROVIDER->m_LogSensitivity >= llTrace) LOG_PROVIDER->Trace(TRACE_FUNC_NAME, __FILE__, __LINE__, "%p %s", this, TRACE_BEG_PREFIX);}while(0) 51 #define TRACE_CFE do{if(LOG_PROVIDER->m_LogSensitivity >= llTrace) LOG_PROVIDER->Trace(TRACE_FUNC_NAME, __FILE__, __LINE__, "%p %s", this, TRACE_END_PREFIX);}while(0) 53 #define LOG_ERR(msg) LOG_PROVIDER->Put(llError, loInsertID, msg) 54 #define LOG_WARN(msg) LOG_PROVIDER->Put(llWarning, loInsertID, msg) 55 #define LOG_NOTICE(msg) LOG_PROVIDER->Put(llNotice, loInsertID, msg) 56 #define LOG_INFO(msg) LOG_PROVIDER->Put(llInfo, loInsertID, msg) 58 #define LOG_DBG(msg) do{if(LOG_PROVIDER->m_LogSensitivity >= llDebug) LOG_PROVIDER->Put(llDebug, loInsertID, msg);}while(0) 60 #define LOG_IMERR(msg) LOG_PROVIDER->Put(llError, loInsertID | loImmediately, msg) 61 #define LOG_IMWARN(msg) LOG_PROVIDER->Put(llWarning, loInsertID | loImmediately, msg) 62 #define LOG_IMNOTICE(msg) LOG_PROVIDER->Put(llNotice, loInsertID | loImmediately, msg) 63 #define LOG_IMINFO(msg) LOG_PROVIDER->Put(llInfo, loInsertID | loImmediately, msg) 65 #define LOG_IMDBG(msg) do{if(LOG_PROVIDER->m_LogSensitivity >= llDebug) LOG_PROVIDER->Put(llDebug, loInsertID | loImmediately, msg);}while(0) 67 #define LOG_OERR(opt, msg) LOG_PROVIDER->Put(llError, opt, msg) 68 #define LOG_OWARN(opt, msg) LOG_PROVIDER->Put(llWarning, opt, msg) 69 #define LOG_ONOTICE(opt, msg) LOG_PROVIDER->Put(llNotice, opt, msg) 70 #define LOG_OINFO(opt, msg) LOG_PROVIDER->Put(llInfo, opt, msg) 72 #define LOG_ODBG(msg) do{if(LOG_PROVIDER->m_LogSensitivity >= llDebug) LOG_PROVIDER->Put(llDebug, opt, msg);}while(0) 74 #define LOG_ERR_ LOG_PROVIDER->Put(llError, loInsertID, 75 #define LOG_WARN_ LOG_PROVIDER->Put(llWarning, loInsertID, 76 #define LOG_NOTICE_ LOG_PROVIDER->Put(llNotice, loInsertID, 77 #define LOG_INFO_ LOG_PROVIDER->Put(llInfo, loInsertID, 78 #define LOG_DBG_ LOG_PROVIDER->Put(llDebug, loInsertID, 127 void InternalPutSysLog(
ALDLogLevel logLevel,
unsigned long ulLogOption,
const char *format, va_list ap);
128 void InternalPutStdErr(
ALDLogLevel logLevel,
unsigned long ulLogOption,
const char *format, va_list ap);
129 void InternalPutCSVLog(
ALDLogLevel logLevel,
unsigned long ulLogOption,
const char *format, va_list ap);
148 void Put(
ALDLogLevel logLevel,
unsigned long ulLogOption,
const char *format, ...);
155 inline void Put(
ALDLogLevel logLevel,
unsigned long ulLogOption,
const string& strMsg)
156 {Put(logLevel, ulLogOption, strMsg.c_str());}
165 void Trace(
const string& strFn,
const string& strFile,
unsigned long ulLine,
const char *format, ...);
173 inline void Trace(
const string& strFn,
const string& strFile,
unsigned long ulLine,
const string& strMsg)
174 {Trace(strFn, strFile, ulLine, strMsg.c_str());}
177 void OpenLog(
const string& strLogIdent,
const string& strFileName =
"");
181 void TieToLogFile(
int fd);
184 void MuteStdErr(
bool mute);
189 static void InitLogProvider();
191 static void ReleseLogProvider();
195 size_t muteCout()
const;
196 void setMuteCout(
const size_t &muteCout);
Добавлять идентификатор процесса
Definition: ALDLogProvider.h:102
ALDLogLevel
Уровень журналирования
Definition: ALDLogProvider.h:83
void Put(ALDLogLevel logLevel, unsigned long ulLogOption, const string &strMsg)
Добавление сообщения в журнал
Definition: ALDLogProvider.h:155
const string & strLogIdent() const
Возвращает идентификатор (имя) журнала
Definition: ALDLogProvider.h:140
Поток ошибок stderr.
Definition: ALDLogProvider.h:94
Немедленный вывод
Definition: ALDLogProvider.h:104
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:9
time_t m_tstart
Время начала журнала
Definition: ALDLogProvider.h:117
void Trace(const string &strFn, const string &strFile, unsigned long ulLine, const string &strMsg)
Добавление отладочного сообщения в журнал
Definition: ALDLogProvider.h:173
bool m_bDetailed
Признак повышенной детализации вывода
Definition: ALDLogProvider.h:132
string m_strLogIdent
Идентификатор (имя) журнала
Definition: ALDLogProvider.h:115
size_t m_muteStdErr
Счетчик глушения StdErr.
Definition: ALDLogProvider.h:118
Ошибки
Definition: ALDLogProvider.h:84
ALDLogLevel m_LogSensitivity
Уровень журналирования ALD.
Definition: ALDLogProvider.h:134
bool m_bSigInt
Признак режима прерывания SigInt.
Definition: ALDLogProvider.h:133
unsigned long m_ulLogDests
Маска целей журналирования
Definition: ALDLogProvider.h:135
Трассировка
Definition: ALDLogProvider.h:89
syslog
Definition: ALDLogProvider.h:95
const string & strLogFile() const
Возвращает путь к файлу журнала
Definition: ALDLogProvider.h:138
Базовый класс механизма журналирования Astra Linux Directory.
Definition: ALDLogProvider.h:110
string m_strLogFile
Путь к файлу журнала
Definition: ALDLogProvider.h:114
Вывод только в файл
Definition: ALDLogProvider.h:103
Уведомления
Definition: ALDLogProvider.h:86
ALDLogOption
Опции журналирования
Definition: ALDLogProvider.h:100
FILE * m_pfDebug
Объект FILE журнала
Definition: ALDLogProvider.h:113
Предупреждения
Definition: ALDLogProvider.h:85
Информация
Definition: ALDLogProvider.h:87
Отладка
Definition: ALDLogProvider.h:88
Отсутствие опций
Definition: ALDLogProvider.h:101
Текстовый файл
Definition: ALDLogProvider.h:96
ALDLogDest
Цели журналирования
Definition: ALDLogProvider.h:93