Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Gray::cLogSubject Class Reference

#include <cLogMgr.h>

Inheritance diagram for Gray::cLogSubject:
Gray::cLogProcessor Gray::ILogProcessor Gray::cStreamOutput Gray::cStreamBase

Public Member Functions

 cLogSubject (const char *pszSubject)
 
virtual ~cLogSubject ()
 
virtual HRESULT addEvent (cLogEvent *pEvent) override
 
- Public Member Functions inherited from Gray::cLogProcessor
virtual ~cLogProcessor ()
 
virtual const cLogNexusget_ThisLogNexus () const
 
virtual bool IsLogged (LOG_ATTR_MASK_t uAttrMask, LOGLEV_TYPE eLogLevel) const override
 
virtual HRESULT FlushLogs ()
 
HRESULT addEventS (LOG_ATTR_MASK_t uAttrMask, LOGLEV_TYPE eLogLevel, cStringL sMsg, cStringL sContext="")
 
HRESULT addEventV (LOG_ATTR_MASK_t uAttrMask, LOGLEV_TYPE eLogLevel, const LOGCHAR_t *pszFormat, va_list vargs)
 
HRESULT _cdecl addEventF (LOG_ATTR_MASK_t uAttrMask, LOGLEV_TYPE eLogLevel, const LOGCHAR_t *pszFormat,...)
 
HRESULT _cdecl addInfoF (const LOGCHAR_t *pszFormat,...)
 
HRESULT _cdecl addDebugErrorF (const LOGCHAR_t *pszFormat,...)
 
HRESULT _cdecl addDebugWarnF (const LOGCHAR_t *pszFormat,...)
 
HRESULT _cdecl addDebugInfoF (const LOGCHAR_t *pszFormat,...)
 
HRESULT _cdecl addDebugTraceF (const LOGCHAR_t *pszFormat,...)
 
- Public Member Functions inherited from Gray::cStreamOutput
 cStreamOutput () noexcept
 
virtual ~cStreamOutput ()
 
virtual HRESULT WriteX (const void *pData, size_t nDataSize)
 
HRESULT WriteT (const void *pVal, size_t nDataSize)
 
template<typename TYPE >
HRESULT WriteT (TYPE val)
 
HRESULT WriteSize (size_t nSize)
 
HRESULT WriteHashCode (HASHCODE_t nHashCode)
 
HRESULT WriteN (const void *pBuffer, size_t nSize)
 
template<typename _CH >
HRESULT WriteStringN (const _CH *pszStr)
 
template<typename _CH >
HRESULT WriteCharRepeat (_CH nChar, int nCount=1)
 
virtual HRESULT WriteString (const char *pszStr)
 
virtual HRESULT WriteString (const wchar_t *pszStr)
 
StrLen_t VPrintf (const char *pszFormat, va_list args)
 
StrLen_t VPrintf (const wchar_t *pszFormat, va_list args)
 
StrLen_t _cdecl Printf (const char *pszFormat,...)
 
StrLen_t _cdecl Printf (const wchar_t *pszFormat,...)
 
HRESULT WriteStream (cStreamInput &sInp, STREAM_POS_t nSizeMax=k_FILE_BLOCK_SIZE, IStreamProgressCallback *pProgress=nullptr, TIMESYSD_t nTimeout=0)
 Copy cStreamInput to this stream. More...
 
virtual HRESULT FlushX ()
 
- Public Member Functions inherited from Gray::cStreamBase
virtual ~cStreamBase ()
 
virtual STREAM_SEEKRET_t Seek (STREAM_OFFSET_t iOffset, SEEK_ORIGIN_TYPE eSeekOrigin=SEEK_Set)
 
void SeekToBegin ()
 
STREAM_POS_t SeekToEnd ()
 
virtual STREAM_POS_t GetPosition () const
 
virtual STREAM_POS_t GetLength () const
 

Public Attributes

const char * m_pszSubject
 static string. general subject matter tag. More...
 

Additional Inherited Members

- Static Public Attributes inherited from Gray::cStreamBase
static const BYTE k_SIZE_MASK = 0x80
 Used for WriteSize() More...
 
static const size_t k_FILE_BLOCK_SIZE = (32 * 1024)
 default arbitrary transfer block size. more than this is NOT more efficient. More...
 

Detailed Description

A logger dedicated to a certain subject matter. declared statically for each subject we might want to log. equivalent to the Logger in Log4J all log messages should enter the log system here ideally. NOT through cLogMgr::I() directly. ideally subjects are hierarchical ALA Log4J e.g. "Root.Server.Clients.Login" so they can be filter via hierarchy wildcards.

Constructor & Destructor Documentation

◆ cLogSubject()

Gray::cLogSubject::cLogSubject ( const char *  pszSubject)

◆ ~cLogSubject()

Gray::cLogSubject::~cLogSubject ( )
virtual

Member Function Documentation

◆ addEvent()

HRESULT Gray::cLogSubject::addEvent ( cLogEvent pEvent)
overridevirtual

Prefix the event with the subject.

Returns
<0 = failed, 0=not processed by anyone, # = number of processors.

Implements Gray::ILogProcessor.

Member Data Documentation

◆ m_pszSubject

const char* Gray::cLogSubject::m_pszSubject

static string. general subject matter tag.


The documentation for this class was generated from the following files: