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

#include <cLogAppender.h>

Inheritance diagram for Gray::cLogAppender:
IUnknown Gray::cLogProcessor Gray::ILogProcessor Gray::cStreamOutput Gray::cStreamBase Gray::cLogAppendCache Gray::cLogAppendConsole Gray::cLogAppendDebug Gray::cLogAppendTextArray GrayFTP::cFTPGUI GrayLib::cClientLogger GrayLib::cLogAppendFile GrayLib::cLogThread

Public Member Functions

 cLogAppender ()
 
virtual ~cLogAppender ()
 
bool RemoveAppenderThis ()
 Remove myself from the list of valid appenders. More...
 
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)
 
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
 

Protected Member Functions

virtual HRESULT WriteString (const LOGCHAR_t *pszMsg) override
 
virtual HRESULT WriteString (const wchar_t *pszMsg) override
 

Friends

class cLogNexus
 

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

Base class for the destination for a log message. Messages can be routed to several different places depending on filtering, app config, etc. overload these to implement which messages go here.

Constructor & Destructor Documentation

◆ cLogAppender()

Gray::cLogAppender::cLogAppender ( )

◆ ~cLogAppender()

Gray::cLogAppender::~cLogAppender ( )
virtual

Member Function Documentation

◆ addEvent()

virtual HRESULT Gray::cLogAppender::addEvent ( cLogEvent pEvent)
inlineoverridevirtual

Push the message where it is supposed to go. ILogProcessor

Returns

0 = i handled this.

0 = just pass the default string to WriteString(); No-one handled this. <0 = failed = don't process this appender anymore.

Implements Gray::ILogProcessor.

Reimplemented in GrayLib::cLogThread, GrayLib::cLogAppendFile, and GrayLib::cClientLogger.

◆ RemoveAppenderThis()

bool Gray::cLogAppender::RemoveAppenderThis ( )

Remove myself from the list of valid appenders.

Remove myself from the list of valid appenders in cLogMgr. will descend into child cLogNexus as well.

◆ WriteString() [1/2]

virtual HRESULT Gray::cLogAppender::WriteString ( const LOGCHAR_t pszMsg)
inlineoverrideprotectedvirtual

override this. should never call this directly. for optimizing use of get_FormattedDefault() Do not assume FILE_EOL.

Reimplemented from Gray::cStreamOutput.

Reimplemented in Gray::cLogAppendDebug, Gray::cLogAppendTextArray, and Gray::cLogAppendConsole.

◆ WriteString() [2/2]

HRESULT Gray::cLogAppender::WriteString ( const wchar_t *  pszMsg)
overrideprotectedvirtual

Support loggers that want to write unicode to the log.

Reimplemented from Gray::cStreamOutput.

Friends And Related Function Documentation

◆ cLogNexus

friend class cLogNexus
friend

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