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
Поток ошибок stderr.
Definition: ALDLogProvider.h:94
Немедленный вывод
Definition: ALDLogProvider.h:104
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
const string & strLogFile() const
Возвращает путь к файлу журнала
Definition: ALDLogProvider.h:138
unsigned long m_ulLogDests
Маска целей журналирования
Definition: ALDLogProvider.h:135
Трассировка
Definition: ALDLogProvider.h:89
syslog
Definition: ALDLogProvider.h:95
Базовый класс механизма журналирования 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
const string & strLogIdent() const
Возвращает идентификатор (имя) журнала
Definition: ALDLogProvider.h:140