2 #ifndef _YI_LOG_POLICY_H_ 3 #define _YI_LOG_POLICY_H_ 15 class CYILoggingThread;
17 class CYILoggerCrashHandler;
18 class CYILogLinesCache;
100 virtual void Open() = 0;
106 virtual void Close() = 0;
111 virtual bool IsOpen()
const = 0;
127 void SetPreferences(
const std::shared_ptr<CYIPreferences> &pPrefs);
159 std::vector<CYIString>
GetLastLoggedLines(uint32_t uLinesCount = std::numeric_limits<uint32_t>::max())
const;
197 virtual void FlushLogQueue();
231 std::map<CYIString, YI_LOG_SEVERITY> BuildSeverityTagCache(
255 std::shared_ptr<CYIPreferences> m_pPreferences;
263 std::map<CYIString, YI_LOG_SEVERITY> m_severityTagCache;
268 bool m_bDirectWriteEnabled;
279 char *m_pCachedVarArgMessage;
304 CYILogLinesCache *m_pLinesCache;
309 bool m_bDestroyingLogPolicy;
314 #endif // _YI_LOG_POLICY_H_ friend class CYILoggerCrashHandler
Definition: YiLogPolicy.h:83
void PostWrite(YI_LOGGING_PARAMS &loggingParams)
const std::shared_ptr< CYIPreferences > & GetPreferences() const
void SetPreferences(const std::shared_ptr< CYIPreferences > &pPrefs)
void SetWriteDirectEnabled(bool bEnabled)
Definition: YiMutex.h:110
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
The logging class reports messages to the programmer via a policy.
Definition: YiLogger.h:29
uint32_t m_uAttributeCache
Definition: YiLogPolicy.h:190
friend class CYILoggerPriv
Definition: YiLogPolicy.h:81
YI_LOG_SEVERITY
Enumeration for the severity levels.
Definition: YiLoggerCommon.h:51
Data type to hold various bits of information for logging.
Definition: YiLoggerCommon.h:67
void UpdateConfigMonitor() const
CYIConcurrentQueue< YI_LOGGING_PARAMS > m_logQueue
Definition: YiLogPolicy.h:185
virtual CYIString BuildLogStatement(const CYIString &logStatement, const YI_LOGGING_PARAMS ¶ms)
#define YI_UNUSED(param)
Definition: YiPredef.h:85
void SetUseLinesCache(bool bUseLinesCache)
friend class CYILoggingThread
Definition: YiLogPolicy.h:82
virtual bool IsOpen() const =0
Definition: YiLogPolicy.h:78
Property management class using CYIString names and values.
Definition: YiPreferences.h:22
std::vector< CYIString > GetLastLoggedLines(uint32_t uLinesCount=std::numeric_limits< uint32_t >::max()) const
const uint32_t YI_LOG_MESSAGE_MAX_SIZE
Definition: YiLogPolicy.h:24
bool IsWriteDirectEnabled() const